diff --git a/src_core/com/tenwa/voucher/serviceImp/CustomerServiceImpl.java b/src_core/com/tenwa/voucher/serviceImp/CustomerServiceImpl.java index 292d3b8a9..d26111198 100644 --- a/src_core/com/tenwa/voucher/serviceImp/CustomerServiceImpl.java +++ b/src_core/com/tenwa/voucher/serviceImp/CustomerServiceImpl.java @@ -17,7 +17,7 @@ import com.tenwa.voucher.service.CustomerService; public class CustomerServiceImpl implements CustomerService{ @SuppressWarnings("deprecation") - public String Customer_syn(String CUST_ID,String CUST_NAME, String CUST_NO,String CUST_STATUS){ + public String Customer_syn(String CUST_ID,String CUST_NAME, String CUST_PK,String CUST_STATUS){ // 获取当前系统时间 String startime = StringFunction.getTodayNow(); // 反馈结果 @@ -38,8 +38,8 @@ public class CustomerServiceImpl implements CustomerService{ return "传输失败:客商编码不能为空 !"; }else if (CUST_NAME==null || CUST_NAME=="" || CUST_NAME.length()<=0){ return "传输失败:客商名称不能为空 !"; - //}else if(CUST_NO==null || CUST_NO=="" || CUST_NO.length()<=0){ - // return "传输失败:纳税人识别号不能为空 !"; + }else if(CUST_PK==null || CUST_PK=="" || CUST_PK.length()<=0){ + return "传输失败:唯一标识不能为空 !"; }else if(CUST_STATUS==null || CUST_STATUS=="" || CUST_STATUS.length()<=0){ return "传输失败:标识不能为空 !"; }else if(!"U".equals(CUST_STATUS) && !"I".equals(CUST_STATUS)){ @@ -47,27 +47,30 @@ public class CustomerServiceImpl implements CustomerService{ } // 执行sql, 用于获取数据及判断新增 or 修改操作 - sql1="SELECT cust_id,cust_name FROM CUSTOMER_LIST CL WHERE (CUST_ID =:CUST_ID OR CUST_NAME =:CUST_NAME) "; + sql1="SELECT cust_id,cust_name FROM CUSTOMER_LIST WHERE CUST_NO=:CUST_PK"; Map map = new HashMap<>(); - map.put("CUST_ID", CUST_ID); - map.put("CUST_NAME", CUST_NAME); + map.put("CUST_PK", CUST_PK); List> list = DataOperatorUtil.getDataBySql(Sqlca, sql1, map); // 如果状态为大写I, 并且查询解果list没有查到结果, 则新增一条客商信息 if(list.size()==0 && !"I".equals(CUST_STATUS)) { return "传输标识有误,此条应为新增,请查证 !"; - }else if(!"U".equals(CUST_STATUS) && list.size() >0) { + }else if(list.size() >0 && !"U".equals(CUST_STATUS)) { return "传输标识有误,此条应为变更,请查证 !"; }else if("I".equals(CUST_STATUS) && list.size()==0) { - insertSql1="INSERT INTO CUSTOMER_LIST(cust_id,cust_name,cust_no,cust_type,inputuserid,inputorgid,inputtime,updateuserid,updateorgid,updatetime) VALUES('"+CUST_ID+"','"+CUST_NAME+"','"+CUST_NO+"',NULL,'administrator','8009001','"+startime+"','administrator','8009001','"+startime+"')"; + insertSql1="INSERT INTO CUSTOMER_LIST(cust_id,cust_name,cust_no,cust_type,inputuserid,inputorgid,inputtime,updateuserid,updateorgid,updatetime) VALUES('"+CUST_ID+"','"+CUST_NAME+"','"+CUST_PK+"',NULL,'administrator','8009001','"+startime+"','administrator','8009001','"+startime+"')"; Sqlca.executeSQL(insertSql1); // 如果状态为大写U, 并且查询结果有数据, 则新增一条需要变更的数据到记录表 }else if("U".equals(CUST_STATUS) && list.size() >0) { String OLD_CUST_ID = list.get(0).get("cust_id"); String OLD_CUST_NAME = list.get(0).get("cust_name"); - insertSql2="INSERT INTO customer_log(ID,CUST_NO,CUST_TYPE,OLD_CUST_ID,OLD_CUST_NAME,NEW_CUST_ID,NEW_CUST_NAME,RECORD_DATE) VALUES(REPLACE(UUID(), '-', ''),'"+CUST_NO+"',NULL,'"+OLD_CUST_ID+"','"+OLD_CUST_NAME+"','"+CUST_ID+"','"+CUST_NAME+"','"+startime+"')"; - Sqlca.executeSQL(insertSql2); + if((OLD_CUST_ID==CUST_ID || OLD_CUST_ID.equals(CUST_ID)) && (OLD_CUST_NAME==CUST_NAME || OLD_CUST_NAME.equals(CUST_NAME))) { + return "编码和名称与原数据相同, 无需变更 !"; + }else { + insertSql2="INSERT INTO customer_log(ID,CUST_NO,CUST_TYPE,OLD_CUST_ID,OLD_CUST_NAME,NEW_CUST_ID,NEW_CUST_NAME,RECORD_DATE) VALUES(REPLACE(UUID(), '-', ''),'"+CUST_PK+"',NULL,'"+OLD_CUST_ID+"','"+OLD_CUST_NAME+"','"+CUST_ID+"','"+CUST_NAME+"','"+startime+"')"; + Sqlca.executeSQL(insertSql2); + } } Sqlca.commit(); } catch (Exception e) {