Browse Source

【越加红】纷享销客 样品申请轮询下载功能 根据申请抬头取得对应的子账套 若没有值则取资料中心

wub 3 years ago
parent
commit
9777f10c06
1 changed files with 29 additions and 17 deletions
  1. 29 17
      src/main/java/com/uas/eis/task/SampleApplyTask.java

+ 29 - 17
src/main/java/com/uas/eis/task/SampleApplyTask.java

@@ -55,36 +55,48 @@ public class SampleApplyTask {
                             Object _id = dataList.get(i).get("_id");
                             Object name = dataList.get(i).get("name");
                             SimpleDateFormat sdf = new SimpleDateFormat(Constant.YMD_HMS);
-                            if(baseDao.checkIf("ProdInOutApply", "pi_code='" + name + "'")){
-                                baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'样品申请编号已存在','样品申请主表下载','"+name+"')");
-                                logger.info("异常信息:样品申请编号已存在");
-                                n++;
-                                continue;
-                            }
                             try {
+                                String MAUser="DATACENTER";
+                                //根据申请抬头取得对应的子账套 若没有值则取资料中心
+                                Object field_h73i7__c = dataList.get(i).get("field_h73i7__c");
+                                if(field_h73i7__c!=null && !"".equals(field_h73i7__c.toString())){
+                                    Object DISPLAYFIELD = baseDao.getFieldDataByCondition("comboData", "DISPLAYFIELD", "VALUEFIELD='" + field_h73i7__c + "' and APICODE='field_h73i7__c' and MODULEAPINAME='样品申请单'");
+                                    if(DISPLAYFIELD!=null && !"".equals(DISPLAYFIELD.toString())){
+                                        Object MA_USER = baseDao.getFieldDataByCondition("master", "MA_USER", "MA_FUNCTION='" + DISPLAYFIELD + "'");
+                                        MAUser = (MA_USER == null || "".equals(MA_USER.toString()))?"YJH_T":MA_USER.toString();
+                                    }
+                                }
+                                if(baseDao.checkIf(MAUser+".ProdInOutApply", "pi_code='" + name + "'") || i==2){
+                                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'样品申请编号已存在','样品申请主表下载','"+name+"')");
+                                    logger.info("异常信息:样品申请编号已存在");
+                                    n++;
+                                    continue;
+                                }
+
                                 Object cu_code = baseDao.getFieldDataByCondition("customer", "max(cu_code) cu_code", "CU_FXXKID='" + dataList.get(i).get("field_l6W5b__c") + "'");
                                 String cuCode =cu_code == null ? "" : cu_code.toString();
 
                                 Object life_status = dataList.get(i).get("life_status");
                                 Object record_type = dataList.get(i).get("record_type");
+
                                 String lifeStatus = "normal".equals(life_status) ? "正常": (life_status==null? "" : life_status.toString());
                                 String recordType = "default__c".equals(record_type) ? "预设业务类型": (record_type==null? "" : record_type.toString());
                                 //负责人编号、名称
                                 Map<String,Object> owner__r =(Map<String,Object>) dataList.get(i).get("owner__r");
-                                Object owner_code = baseDao.getFieldDataByCondition("employee", "max(em_code) em_code", "em_name='" + owner__r.get("name") + "'");
+                                Object owner_code = baseDao.getFieldDataByCondition(MAUser+".employee", "max(em_code) em_code", "em_name='" + owner__r.get("name") + "'");
                                 //创建人编号、名称
                                 Map<String,Object> created_by__r =(Map<String,Object>) dataList.get(i).get("created_by__r");
-                                Object created_by_code = baseDao.getFieldDataByCondition("employee", "max(em_code) em_code", "em_name='" + created_by__r.get("name") + "'");
+                                Object created_by_code = baseDao.getFieldDataByCondition(MAUser+".employee", "max(em_code) em_code", "em_name='" + created_by__r.get("name") + "'");
                                 //最后更新人编号、名称
                                 Map<String,Object> last_modified_by__r =(Map<String,Object>) dataList.get(i).get("last_modified_by__r");
-                                Object last_modified_by_code = baseDao.getFieldDataByCondition("employee", "max(em_code) em_code", "em_name='" + last_modified_by__r.get("name") + "'");
+                                Object last_modified_by_code = baseDao.getFieldDataByCondition(MAUser+".employee", "max(em_code) em_code", "em_name='" + last_modified_by__r.get("name") + "'");
                                 //申请日期
                                 Long field_lp4Q1__c = Long.parseLong(new BigDecimal(dataList.get(i).get("field_lp4Q1__c").toString()).toPlainString());
                                 Long create_time = Long.parseLong(new BigDecimal(dataList.get(i).get("create_time").toString()).toPlainString());
                                 Long last_modified_time = Long.parseLong(new BigDecimal(dataList.get(i).get("last_modified_time").toString()).toPlainString());
                                 //客户联系人:pi_purposename 电话:pi_expresscode
-                                int pi_id = baseDao.getSeqId("PRODINOUTAPPLY_SEQ");
-                                String sql="insert into ProdInOutApply(pi_id,pi_code,pi_class,pi_date,pi_status,pi_statuscode,pi_cardcode,pi_title,pi_emcode,pi_emname,pi_recordman,pi_recorddate," +
+                                int pi_id = baseDao.getSeqId(MAUser+".PRODINOUTAPPLY_SEQ");
+                                String sql="insert into "+MAUser+".ProdInOutApply(pi_id,pi_code,pi_class,pi_date,pi_status,pi_statuscode,pi_cardcode,pi_title,pi_emcode,pi_emname,pi_recordman,pi_recorddate," +
                                         "pi_updateman,pi_updatedate,pi_purposename,pi_expresscode,pi_address,pi_field_Il1e1,pi_record_type,pi_life_status,PI_FXXKID)" +
                                         "values("+pi_id+",'"+name+"','其它出库申请单',"+DateUtil.parseDateToOracleString(Constant.YMD_HMS,sdf.parse(sdf.format(field_lp4Q1__c)))+"," +
                                         "'在录入','ENTERING','"+cuCode+"','"+dataList.get(i).get("field_l6W5b__c__r")+"','"+owner_code+"','"+owner__r.get("name")+"','"+ created_by__r.get("name")+"'," +
@@ -93,7 +105,7 @@ public class SampleApplyTask {
                                         "'"+dataList.get(i).get("field_57196__c")+"','"+(dataList.get(i).get("field_6OcTn__c")==null?"":dataList.get(i).get("field_6OcTn__c"))+"','"+dataList.get(i).get("field_Il1e1__c")+"','"+recordType+"','"+lifeStatus+"','"+_id+"')";
                                 baseDao.execute(sql);
                                 //样品申请明细下载
-                                syncSampleApplyDetail(_id.toString(),pi_id);
+                                syncSampleApplyDetail(_id.toString(),pi_id,MAUser);
                                 m++;
                             }catch (Exception e){
                                 baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+crmQueryResult.getErrorMessage()+"','样品申请主表下载','"+name+"')");
@@ -115,7 +127,7 @@ public class SampleApplyTask {
         }
     }
 
-    private void syncSampleApplyDetail(String SampleApply_id,int pi_id){
+    private void syncSampleApplyDetail(String SampleApply_id,int pi_id,String MAUser){
         List<String> field_values_Detail = new ArrayList<>();
         field_values_Detail.add(SampleApply_id);
         try {
@@ -133,7 +145,7 @@ public class SampleApplyTask {
                         Object _id = dataList.get(i).get("_id");
                         Object name = dataList.get(i).get("name");
                         SimpleDateFormat sdf = new SimpleDateFormat(Constant.YMD_HMS);
-                        if(baseDao.checkIf("ProdIOApplyDetail", "pd_code='" + name + "' and pd_piid="+pi_id)){
+                        if(baseDao.checkIf(MAUser+".ProdIOApplyDetail", "pd_code='" + name + "' and pd_piid="+pi_id)){
                             baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'样品申请明细编号已存在','样品申请明细表下载','"+name+"')");
                             logger.info("异常信息:样品申请明细编号已存在");
                             n++;
@@ -142,11 +154,11 @@ public class SampleApplyTask {
                         try {
                             //负责人编号、名称
                             Map<String,Object> owner__r =(Map<String,Object>) dataList.get(i).get("owner__r");
-                            Object owner_code = baseDao.getFieldDataByCondition("employee", "max(em_code) em_code", "em_name='" + owner__r.get("name") + "'");
+                            Object owner_code = baseDao.getFieldDataByCondition(MAUser+".employee", "max(em_code) em_code", "em_name='" + owner__r.get("name") + "'");
 
                             //客户联系人:pi_purposename 电话:pi_expresscode
-                            String sql="insert into ProdIOApplyDetail(pd_id,pd_piid,pd_pdno,pd_code,pd_piclass,pd_picode,pd_ownercode,pd_owner,pd_prodcode,pd_detail,pd_sepc,pd_brand,pd_outqty,YPonhand,PD_FXXKID)" +
-                                    "values(PRODIOAPPLYDETAIL_SEQ.nextval,"+pi_id+","+(i+1)+",'"+name+"','其它出库申请单','"+dataList.get(i).get("field_8019j__c__r")+"'," +
+                            String sql="insert into "+MAUser+".ProdIOApplyDetail(pd_id,pd_piid,pd_pdno,pd_code,pd_piclass,pd_picode,pd_ownercode,pd_owner,pd_prodcode,pd_detail,pd_sepc,pd_brand,pd_outqty,YPonhand,PD_FXXKID)" +
+                                    "values("+MAUser+".PRODIOAPPLYDETAIL_SEQ.nextval,"+pi_id+","+(i+1)+",'"+name+"','其它出库申请单','"+dataList.get(i).get("field_8019j__c__r")+"'," +
                                     "'"+owner_code+"','"+owner__r.get("name")+"','"+ (dataList.get(i).get("field_2Lq6Y__c")==null?"":dataList.get(i).get("field_2Lq6Y__c")) +"','"+(dataList.get(i).get(" field_utezf__c__r")==null?"":dataList.get(i).get(" field_utezf__c__r"))+"'," +
                                     "'"+(dataList.get(i).get("field_21Suz__c")==null?"":dataList.get(i).get("field_21Suz__c"))+"','"+(dataList.get(i).get("field_y5dz2__c")==null?"":dataList.get(i).get("field_y5dz2__c"))+"','" +dataList.get(i).get("field_7uspZ__c")+"',"+
                                     "'"+dataList.get(i).get("field_lzxe2__c")+"','"+_id+"')";