You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

204 lines
8.8 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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<String, Object> 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<String, Object> 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<String, Object> 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;
}
}