Browse Source

调整MES对接接口

koul 4 years ago
parent
commit
7151ac6992

+ 10 - 0
src/main/java/com/uas/eis/controller/ERPController.java

@@ -48,4 +48,14 @@ public class ERPController {
     public ApiResult<String> syncMakeBaseDetail(String data){
         return ApiResponse.successRsp("0",erpService.syncMakeBaseDetail(data));
     }
+
+    /**
+     *推送领料单
+     * @param data
+     * @return
+     */
+    @RequestMapping("/erp/syncUpdateReceiveByErp")
+    public ApiResult<String> syncUpdateReceiveByErp(String data){
+        return ApiResponse.successRsp("0",erpService.syncUpdateReceiveByErp(data));
+    }
 }

+ 30 - 30
src/main/java/com/uas/eis/entity/MakeMaterial.java

@@ -30,13 +30,13 @@ public class MakeMaterial {
     @JSONField(name = "type")
     private String type;
     @JSONField(name = "createdUser")
-    private String ma_recorder;
+    private String bo_recorder;
     @JSONField(name = "createdDateTime")
-    private String ma_date;
+    private String bo_date;
     @JSONField(name = "version")
-    private int ma_version;
+    private int bo_version;
     @JSONField(name = "companyNo")
-    private String ma_cop;
+    private String bo_cop;
     @JSONField(name = "oriItemNo")
     private String mm_repprodcode;
     @JSONField(name = "scarpQty")
@@ -44,9 +44,9 @@ public class MakeMaterial {
     @JSONField(name = "custNo")
     private String ma_custcode;
     @JSONField(name = "modifiedDateTime")
-    private String ma_modifydate;
+    private String mc_indate;
     @JSONField(name = "modifiedUser")
-    private String ma_modifier;
+    private String mc_recorder;
     @JSONField(name = "mesUser")
     private String mesUser;
     @JSONField(name = "mesPwd")
@@ -158,36 +158,36 @@ public class MakeMaterial {
         this.type = type;
     }
 
-    public String getMa_recorder() {
-        return ma_recorder;
+    public String getBo_recorder() {
+        return bo_recorder;
     }
 
-    public void setMa_recorder(String ma_recorder) {
-        this.ma_recorder = ma_recorder;
+    public void setBo_recorder(String bo_recorder) {
+        this.bo_recorder = bo_recorder;
     }
 
-    public String getMa_date() {
-        return ma_date;
+    public String getBo_date() {
+        return bo_date;
     }
 
-    public void setMa_date(String ma_date) {
-        this.ma_date = ma_date;
+    public void setBo_date(String bo_date) {
+        this.bo_date = bo_date;
     }
 
-    public int getMa_version() {
-        return ma_version;
+    public int getBo_version() {
+        return bo_version;
     }
 
-    public void setMa_version(int ma_version) {
-        this.ma_version = ma_version;
+    public void setBo_version(int bo_version) {
+        this.bo_version = bo_version;
     }
 
-    public String getMa_cop() {
-        return ma_cop;
+    public String getBo_cop() {
+        return bo_cop;
     }
 
-    public void setMa_cop(String ma_cop) {
-        this.ma_cop = ma_cop;
+    public void setBo_cop(String bo_cop) {
+        this.bo_cop = bo_cop;
     }
 
     public String getMm_repprodcode() {
@@ -214,19 +214,19 @@ public class MakeMaterial {
         this.ma_custcode = ma_custcode;
     }
 
-    public String getMa_modifydate() {
-        return ma_modifydate;
+    public String getMc_indate() {
+        return mc_indate;
     }
 
-    public void setMa_modifydate(String ma_modifydate) {
-        this.ma_modifydate = ma_modifydate;
+    public void setMc_indate(String mc_indate) {
+        this.mc_indate = mc_indate;
     }
 
-    public String getMa_modifier() {
-        return ma_modifier;
+    public String getMc_recorder() {
+        return mc_recorder;
     }
 
-    public void setMa_modifier(String ma_modifier) {
-        this.ma_modifier = ma_modifier;
+    public void setMc_recorder(String mc_recorder) {
+        this.mc_recorder = mc_recorder;
     }
 }

+ 85 - 15
src/main/java/com/uas/eis/entity/VerifyApply.java

@@ -64,13 +64,91 @@ public class VerifyApply {
     @JSONField(name = "custName")
     private String va_custname;
     @JSONField(name = "recType")
-    private String recType;
+    private String va_putype;
     @JSONField(name = "devNo")
     private String va_pucode;
     @JSONField(name = "fSourceInterId")
     private int pu_id;
-    @JSONField(name = "details")
-    private List<VerifyApplyDetail> VerifyApplyDetails;
+    @JSONField(name = "fPOStyle")
+    private String va_status;
+    @JSONField(name = "posted")
+    private int posted;
+    @JSONField(name = "postedDateTime")
+    private String va_auditdate;
+    @JSONField(name = "postedBy")
+    private String va_auditman;
+    @JSONField(name = "mesUser")
+    private String mesUser;
+    @JSONField(name = "mesPwd")
+    private String mesPwd;
+    @JSONField(name = "flag")
+    private int flag;
+    @JSONField(name = "detail")
+    private List<VerifyApplyDetail> detail;
+
+    public String getMesUser() {
+        return mesUser;
+    }
+
+    public void setMesUser(String mesUser) {
+        this.mesUser = mesUser;
+    }
+
+    public String getMesPwd() {
+        return mesPwd;
+    }
+
+    public void setMesPwd(String mesPwd) {
+        this.mesPwd = mesPwd;
+    }
+
+    public String getVa_putype() {
+        return va_putype;
+    }
+
+    public void setVa_putype(String va_putype) {
+        this.va_putype = va_putype;
+    }
+
+    public String getVa_status() {
+        return va_status;
+    }
+
+    public void setVa_status(String va_status) {
+        this.va_status = va_status;
+    }
+
+    public int getPosted() {
+        return posted;
+    }
+
+    public void setPosted(int posted) {
+        this.posted = posted;
+    }
+
+    public String getVa_auditdate() {
+        return va_auditdate;
+    }
+
+    public void setVa_auditdate(String va_auditdate) {
+        this.va_auditdate = va_auditdate;
+    }
+
+    public String getVa_auditman() {
+        return va_auditman;
+    }
+
+    public void setVa_auditman(String va_auditman) {
+        this.va_auditman = va_auditman;
+    }
+
+    public int getFlag() {
+        return flag;
+    }
+
+    public void setFlag(int flag) {
+        this.flag = flag;
+    }
 
     public String getVersion() {
         return version;
@@ -96,14 +174,6 @@ public class VerifyApply {
         this.va_custname = va_custname;
     }
 
-    public String getRecType() {
-        return recType;
-    }
-
-    public void setRecType(String recType) {
-        this.recType = recType;
-    }
-
     public String getVa_pucode() {
         return va_pucode;
     }
@@ -304,11 +374,11 @@ public class VerifyApply {
         this.va_factory = va_factory;
     }
 
-    public List<VerifyApplyDetail> getVerifyApplyDetails() {
-        return VerifyApplyDetails;
+    public List<VerifyApplyDetail> getDetail() {
+        return detail;
     }
 
-    public void setVerifyApplyDetails(List<VerifyApplyDetail> verifyApplyDetails) {
-        VerifyApplyDetails = verifyApplyDetails;
+    public void setDetail(List<VerifyApplyDetail> detail) {
+        this.detail = detail;
     }
 }

+ 6 - 46
src/main/java/com/uas/eis/entity/VerifyApplyDetail.java

@@ -9,8 +9,8 @@ import com.alibaba.fastjson.annotation.JSONField;
  */
 public class VerifyApplyDetail {
 
-    @JSONField(name = "fInterID")
-    private int vad_vaid;
+    @JSONField(name = "journalNo")
+    private String vad_code;
     @JSONField(name = "itemNo")
     private String vad_prodcode;
     @JSONField(name = "itemName")
@@ -21,21 +21,13 @@ public class VerifyApplyDetail {
     private String pr_unit;
     @JSONField(name = "qty")
     private Float vad_qty;
-    @JSONField(name = "whCode")
-    private String vad_whcode;
-    @JSONField(name = "whName")
-    private String vad_whname;
-    @JSONField(name = "sellerCode")
-    private String vad_sellercode;
-    @JSONField(name = "sellerName")
-    private String vad_seller;
 
-    public int getVad_vaid() {
-        return vad_vaid;
+    public String getVad_code() {
+        return vad_code;
     }
 
-    public void setVad_vaid(int vad_vaid) {
-        this.vad_vaid = vad_vaid;
+    public void setVad_code(String vad_code) {
+        this.vad_code = vad_code;
     }
 
     public String getVad_prodcode() {
@@ -77,36 +69,4 @@ public class VerifyApplyDetail {
     public void setVad_qty(Float vad_qty) {
         this.vad_qty = vad_qty;
     }
-
-    public String getVad_whcode() {
-        return vad_whcode;
-    }
-
-    public void setVad_whcode(String vad_whcode) {
-        this.vad_whcode = vad_whcode;
-    }
-
-    public String getVad_whname() {
-        return vad_whname;
-    }
-
-    public void setVad_whname(String vad_whname) {
-        this.vad_whname = vad_whname;
-    }
-
-    public String getVad_sellercode() {
-        return vad_sellercode;
-    }
-
-    public void setVad_sellercode(String vad_sellercode) {
-        this.vad_sellercode = vad_sellercode;
-    }
-
-    public String getVad_seller() {
-        return vad_seller;
-    }
-
-    public void setVad_seller(String vad_seller) {
-        this.vad_seller = vad_seller;
-    }
 }

+ 2 - 0
src/main/java/com/uas/eis/service/ERPService.java

@@ -13,4 +13,6 @@ public interface ERPService {
     String syncMakeBase(String data);
 
     String syncMakeBaseDetail(String data);
+
+    String syncUpdateReceiveByErp(String data);
 }

+ 18 - 11
src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

@@ -5,16 +5,14 @@ import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.uas.eis.core.support.TokenProperties;
 import com.uas.eis.dao.BaseDao;
-import com.uas.eis.entity.Make;
-import com.uas.eis.entity.MakeMaterial;
-import com.uas.eis.entity.Product;
+import com.uas.eis.entity.*;
 import com.uas.eis.service.ERPService;
 import com.uas.eis.utils.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -60,20 +58,29 @@ public class ERPServiceImpl implements ERPService {
     @Override
     public String syncMakeBaseDetail(String data) {
         Map<Object, Object> store = BaseUtil.parseFormStoreToMap(data);
-        MakeMaterial makeMaterial = baseDao.getJdbcTemplate().queryForObject("select mm_code,mm_detno,mm_prodcode," +
-                        "pr_detail,pr_spec,pr_unit,mm_qty qty,mm_qty,mm_oneuseqty,'main' type,ma_recorder,to_char" +
-                        "(ma_date,'yyyy-MM-dd HH24:mi:ss') ma_date,nvl(ma_version,0) ma_version,nvl(ma_cop,'BYT') ma_cop," +
-                        "mm_repprodcode,mm_balance,ma_custcode,to_char(ma_modifydate,'yyyy-MM-dd HH24:mi:ss') " +
-                        "ma_modifydate,ma_modifier from MakeMaterial left join make on ma_id=mm_maid left join " +
-                        "Product on mm_prodcode=pr_code where mm_id=?",
+        MakeMaterial makeMaterial = baseDao.getJdbcTemplate().queryForObject("select mm_code,mm_detno,mm_prodcode,pr_detail,pr_spec,pr_unit,mm_oneuseqty qty,mm_qty,mm_oneuseqty,'main' type,bo_recorder,to_char(bo_date,'yyyy-MM-dd HH24:mi:ss') bo_date,nvl(bo_version,0) bo_version,nvl(bo_cop,'BYT') bo_cop,mm_repprodcode,mm_balance,ma_custcode,to_char(mc_indate,'yyyy-MM-dd HH24:mi:ss') mc_indate,mc_recorder " +
+                        "from MakeMaterial left join make on ma_id=mm_maid left join Product on mm_prodcode=pr_code left join bom on bo_id=ma_bomid left join MakeMaterialChangeDet on md_makecode=ma_code and md_mmdetno=mm_detno left join MakeMaterialChange on mc_id=md_mcid where mm_id=?",
                 new BeanPropertyRowMapper<MakeMaterial>(MakeMaterial.class),store.get("mm_id"));
-        HashMap<String, String> map = new HashMap<>();
         makeMaterial.setFlag(Integer.parseInt(StringUtil.nvl(store.get("flag"),"-1")));
         makeMaterial.setMesUser(tokenConfig.get("mesUser"));
         makeMaterial.setMesPwd(MD5Util.encodeByMD5(tokenConfig.get("mesPwd")));
         return syncMES(JSON.toJSONString(makeMaterial, SerializerFeature.WriteMapNullValue),tokenConfig.get("syncMakeBaseDetail"));
     }
 
+    @Override
+    public String syncUpdateReceiveByErp(String data) {
+        Map<Object, Object> store = BaseUtil.parseFormStoreToMap(data);
+        VerifyApply verifyApply = baseDao.getJdbcTemplate().queryForObject("select va_id,va_mescode,va_code,to_char(va_date,'yyyy-MM-dd HH24:mi:ss') va_date,va_vendcode,va_vendname,va_currency,va_rate,va_paymentscode,va_payments,va_transport,va_sendcode,va_emcode,va_emname,va_whcode,va_whname,va_departmentcode,va_department,va_recorder,nvl(va_cop,'BYT') va_cop,va_remark,va_ancode,va_factory,0 version,va_custcode,va_custname,va_putype,va_pucode,case when nvl(va_pucode,' ')=' ' then 0 else (select pu_id from purchase where pu_code=va_pucode) end pu_id,va_status,1 posted,to_char(va_auditdate,'yyyy-MM-dd HH24:mi:ss') va_auditdate,va_auditman " +
+                        "from VerifyApply where va_statuscode='AUDITED' and va_mescode=?",
+                new BeanPropertyRowMapper<VerifyApply>(VerifyApply.class), store.get("mesCode"));
+        verifyApply.setMesPwd(MD5Util.encodeByMD5(tokenConfig.get("mesPwd")));
+        verifyApply.setMesUser(tokenConfig.get("mesUser"));
+        verifyApply.setFlag(Integer.parseInt(StringUtil.nvl(store.get("flag"),"-1")));
+        List<VerifyApplyDetail> verifyApplyDetails = baseDao.query("select vad_code,vad_prodcode,pr_detail,pr_spec,pr_unit,sum(nvl(vad_qty,0)) vad_qty from verifyapplydetail left join product on vad_prodcode=pr_code where vad_vaid=" + verifyApply.getVa_id() + " group by vad_code,vad_prodcode,pr_detail,pr_spec,pr_unit", VerifyApplyDetail.class);
+        verifyApply.setDetail(verifyApplyDetails);
+        return syncMES(JSON.toJSONString(verifyApply, SerializerFeature.WriteMapNullValue),tokenConfig.get("syncUpdateReceiveByErp"));
+    }
+
     private String syncMES(String params,String url){
         try {
             System.err.println(params);

+ 8 - 10
src/main/java/com/uas/eis/service/Impl/MESServiceImpl.java

@@ -41,18 +41,14 @@ public class MESServiceImpl implements MESService {
         if ("".equals(mesCode)){
             return ApiResponse.failRsp("10011",request.getHeader("RequestId"),"MES编号不能为空!");
         }
-        VerifyApply verifyApply = baseDao.getJdbcTemplate().queryForObject("select va_id,va_mescode,va_code,to_char" +
-                        "(va_date,'yyyy-MM-dd HH24:mi:ss') va_date,va_vendcode,va_vendname,va_currency,va_rate,va_paymentscode,va_payments,va_transport,va_sendcode," +
-                        "va_emcode,va_emname,va_whcode,va_whname,va_departmentcode,va_department,va_recorder,nvl" +
-                        "(va_cop,'BYT') va_cop,va_remark,va_ancode,va_factory,0 version,va_custcode,va_custname,'自购收货' recType,va_pucode,case when nvl(va_pucode,' ')=' ' then 0 else (select pu_id from purchase where pu_code=va_pucode) end pu_id from VerifyApply where " +
-                        "va_statuscode='AUDITED' and va_mescode=?",
+        VerifyApply verifyApply = baseDao.getJdbcTemplate().queryForObject("select va_id,va_mescode,va_code,to_char(va_date,'yyyy-MM-dd HH24:mi:ss') va_date,va_vendcode,va_vendname,va_currency,va_rate,va_paymentscode,va_payments,va_transport,va_sendcode,va_emcode,va_emname,va_whcode,va_whname,va_departmentcode,va_department,va_recorder,nvl(va_cop,'BYT') va_cop,va_remark,va_ancode,va_factory,0 version,va_custcode,va_custname,va_putype,va_pucode,case when nvl(va_pucode,' ')=' ' then 0 else (select pu_id from purchase where pu_code=va_pucode) end pu_id,va_status,1 posted,to_char(va_auditdate,'yyyy-MM-dd HH24:mi:ss') va_auditdate,va_auditman " +
+                        "from VerifyApply where va_statuscode='AUDITED' and va_mescode=?",
                 new BeanPropertyRowMapper<VerifyApply>(VerifyApply.class), mesCode);
         if (verifyApply==null) {
             return ApiResponse.failRsp("10012",request.getHeader("RequestId"),"单据未审核或不存在,请确认!");
         }
-        List<VerifyApplyDetail> verifyApplyDetails = baseDao.query("select vad_vaid,vad_prodcode,pr_detail,pr_spec,pr_unit,sum(nvl(vad_qty,0)) vad_qty,vad_whcode,vad_whname,vad_sellercode," +
-                "vad_seller from verifyapplydetail left join product on vad_prodcode=pr_code where vad_vaid=" + verifyApply.getVa_id() + " group by vad_vaid,vad_prodcode,pr_detail,pr_spec,pr_unit,vad_whcode,vad_whname,vad_sellercode,vad_seller", VerifyApplyDetail.class);
-        verifyApply.setVerifyApplyDetails(verifyApplyDetails);
+        List<VerifyApplyDetail> verifyApplyDetails = baseDao.query("select vad_code,vad_prodcode,pr_detail,pr_spec,pr_unit,sum(nvl(vad_qty,0)) vad_qty from verifyapplydetail left join product on vad_prodcode=pr_code where vad_vaid=" + verifyApply.getVa_id() + " group by vad_code,vad_prodcode,pr_detail,pr_spec,pr_unit", VerifyApplyDetail.class);
+        verifyApply.setDetail(verifyApplyDetails);
         String s = JSON.toJSONString(verifyApply, SerializerFeature.WriteMapNullValue);
         return ApiResponse.successRsp("0","获取成功!",request.getHeader("RequestId"),s);
     }
@@ -73,8 +69,10 @@ public class MESServiceImpl implements MESService {
         int count1 = baseDao.getCount("select count(1) from VerifyApplyDetail where nvl(vad_pucode,' ')<>' ' and " +
                 "vad_vaid=" + vaid);
         String caller="VerifyApply!ToOtherIn";
+        String type="其它入库单";
         if (count1>0){
             caller="VerifyApply!ToPurcIn";
+            type="采购验收单";
         }
         int piid ;
         //判断已转数
@@ -155,7 +153,7 @@ public class MESServiceImpl implements MESService {
         // 修改收料状态
         baseDao.updateByCondition("VerifyApplyDetail", "vad_yqty=vad_qty", "va_id=" + vaid);
         baseDao.updateByCondition("VerifyApply", "va_turnstatuscode='TURNIN',va_turnstatus='已入库'", "va_id=" + vaid);
-        return ApiResponse.successRsp("0",request.getHeader("RequestId"),"入库成功");
+        return ApiResponse.successRsp("0",request.getHeader("RequestId"),type+":"+key.getCode()+",请在ERP查看!");
     }
 
     @Override
@@ -561,7 +559,7 @@ public class MESServiceImpl implements MESService {
             detno++;
         }
         baseDao.execute(sqls);
-        return ApiResponse.successRsp("0",request.getHeader("RequestId"),"生产拨出单:"+code+",请在ERP查看!");
+        return ApiResponse.successRsp("0",request.getHeader("RequestId"),"拨出单:"+code+",请在ERP查看!");
     }
 
     private Map<String, JSONArray> getData(HttpServletRequest request){

+ 2 - 1
src/main/resources/api_sign_key_mapping.properties

@@ -4,4 +4,5 @@ mesPwd=erp.com
 mesHttp=http://218.17.190.142:9910/mrs/
 syncProduct=updateItemByErp
 syncMakeBase=updateProdByErp
-syncMakeBaseDetail=updateProdBomByErp
+syncMakeBaseDetail=updateProdBomByErp
+syncUpdateReceiveByErp=updateReceiveByErp