package weaver.interfaces.zlldjcws.kjkm.service.impl; import com.weaver.general.BaseBean; import weaver.conn.RecordSet; import weaver.formmode.setup.ModeRightInfo; import weaver.general.Util; import weaver.interfaces.zlldjcws.kjkm.bean.KjkmBean; import weaver.interfaces.zlldjcws.kjkm.service.LdKjkmService; import weaver.interfaces.zlldjcws.util.Message; import javax.ejb.Stateless; import javax.jws.WebService; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.UUID; /** * @author ZhangLei * @date 2021/8/3 * @tableName uf_KJKM */ @Stateless(mappedName = "LdKjkmServiceImpl") @WebService(serviceName = "LdKjkmServiceImpl") public class LdKjkmServiceImpl extends BaseBean implements LdKjkmService { @Override public Message kjkmData(String client,KjkmBean kjkmBean) { Message message = new Message(); RecordSet rs = new RecordSet(); writeLog("表字段对象是:"); writeLog(kjkmBean); // 判断:1=新增、2=修改、3=删除 String zflag = kjkmBean.getZflag(); writeLog("接收到的zflag是:" + zflag); // 存储即将操作数据库的值 Map datas = new HashMap<>(); datas.put("client",client); datas.put("saknr", kjkmBean.getSaknr()); datas.put("glaccount_type", kjkmBean.getGlaccount_type()); datas.put("ktoks", kjkmBean.getKtoks()); datas.put("txt30", kjkmBean.getTxt30()); datas.put("spras", kjkmBean.getSpras()); datas.put("txt20", kjkmBean.getTxt20()); datas.put("txt50", kjkmBean.getTxt50()); datas.put("sprasen", kjkmBean.getSprasen()); datas.put("txt20en", kjkmBean.getTxt20en()); datas.put("txt50en", kjkmBean.getTxt50en()); datas.put("zflag", kjkmBean.getZflag()); datas.put("xloev", kjkmBean.getXloev()); datas.put("bukrs", kjkmBean.getBukrs()); datas.put("waers", kjkmBean.getWaers()); datas.put("xmwno", kjkmBean.getXmwno()); datas.put("mitkz", kjkmBean.getMitkz()); datas.put("altkt", kjkmBean.getAltkt()); datas.put("xintb", kjkmBean.getXintb()); datas.put("erdat", kjkmBean.getErdat()); datas.put("xloeb", kjkmBean.getXloeb()); datas.put("ktopl", kjkmBean.getKtopl()); datas.put("land1", kjkmBean.getLand1()); datas.put("kokrs", kjkmBean.getKokrs()); ModeRightInfo mode = new ModeRightInfo(); if (zflag == null || "".equals(zflag)) { message.setId("-200"); message.setFlag("E"); message.setMessage("业务标识字段zflag值为空"); } else if ("1".equals(zflag)) { String formmodeid = ""; String sql = " select k.id from modeinfo k \n" + " inner join workflow_bill l on formid = l.id\n" + " where l.tablename = 'uf_kjkm' "; rs.execute(sql); if (rs.next()) { formmodeid = Util.null2String(rs.getString("id")); } SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat formatter2 = new SimpleDateFormat("HH:mm:ss"); String currentdate = formatter1.format(new Date()); String currenttime = formatter2.format(new Date()); String modedatacreater = "1"; String modedatacreatertype = "0"; datas.put("formmodeid", formmodeid); datas.put("modedatacreater", modedatacreater); datas.put("modedatacreatertype", modedatacreatertype); datas.put("modedatacreatedate", currentdate); datas.put("modedatacreatetime", currenttime); String modeuuid = UUID.randomUUID().toString(); datas.put("modeuuid", modeuuid); //新增 writeLog("开始执行新增功能代码"); //判断传递的会计科目编号在数据库中是否存在 String saknr = kjkmBean.getSaknr(); writeLog("传递的总账科目编号saknr是:" + saknr); if (saknr == null || "".equals(saknr)) { message.setId("-200"); message.setFlag("E"); message.setMessage("总账科目编号为空,无法进行新增"); } else { String dbsaknr =""; sql = "select saknr from uf_kjkm where saknr = ? and client='"+client+"' "; rs.executeQuery(sql,saknr); if (rs.next()){ dbsaknr = rs.getString("saknr"); } if(!"".equals(dbsaknr)){ message.setId("-200"); message.setFlag("E"); message.setMessage("总账科目编号已存在,无法进行新增"); }else{ //insertSQL组装 String tablename = "" ; String tablenvalue = "" ; for (Map.Entry entry : datas.entrySet()){ String fieldname = Util.null2String(entry.getKey()).trim(); String fieldvalue = Util.null2String(entry.getValue()).replace("'", "''").trim(); tablename += tablename==""? fieldname :","+fieldname ; tablenvalue += tablenvalue=="" ? "'"+fieldvalue+"'" :",'"+fieldvalue+"'" ; } if(tablename !="" && tablenvalue !=""){ int count = 0; sql = " insert into uf_KJKM("+tablename+") values ("+ tablenvalue +")"; writeLog("sql:"+sql); boolean boo = rs.executeUpdate(sql); if(boo){ count++; } if(count >0){ String dataid = "" ; sql = " select * from uf_KJKM where modeuuid='"+modeuuid+"' " ; rs.execute(sql); if(rs.next()){ dataid = Util.null2String(rs.getString("id")); } if(!"".equals(dataid)){ mode.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid)); } message.setFlag("S"); message.setMessage("新增数据成功!"); message.setId("200"); }else{ message.setFlag("E"); message.setMessage("新增数据失败!"); message.setId("-200"); } } } } }else if("2".equals(zflag) || "3".equals(zflag)){ String saknr = kjkmBean.getSaknr(); writeLog("传递的总账科目编号saknr是:" + saknr); if (saknr == null || "".equals(saknr)) { message.setId("-200"); message.setFlag("E"); message.setMessage("总账科目编号为空,无法进行新增"); }else{ String dbsaknr =""; String sql = "select saknr from uf_KJKM where saknr = ? and client='"+client+"'"; rs.executeQuery(sql,saknr); if (rs.next()){ dbsaknr = rs.getString("saknr"); } if (dbsaknr == null || "".equals(dbsaknr)) { message.setId("-200"); message.setFlag("E"); message.setMessage("总账科目编号不存在,请重新传递"); } String setvalue = "" ; for (Map.Entry entry : datas.entrySet()){ String fieldname = Util.null2String(entry.getKey()).trim(); String fieldvalue = Util.null2String(entry.getValue()).replace("'", "''").trim(); setvalue += setvalue==""? fieldname+"='"+fieldvalue+"'" :","+fieldname+"='"+fieldvalue+"'" ; } String updateSql = "update uf_kjkm set "+setvalue+" where saknr='"+saknr+"' and client='"+client+"'"; writeLog("updateSql:"+updateSql); boolean updateResult = rs.executeUpdate(updateSql); if (updateResult){ message.setId("200"); message.setFlag("S"); message.setMessage("Success !"); }else { message.setId("-200"); message.setFlag("E"); message.setMessage("更新数据库失败,请检查传递的参数"); } } } return message; } }