diff --git a/zi-wms-data/src/main/java/com/cim/idm/wmspackage/materialpacking/management/data/MaterialPacking.java b/zi-wms-data/src/main/java/com/cim/idm/wmspackage/materialpacking/management/data/MaterialPacking.java index 6fd21e8..765a641 100644 --- a/zi-wms-data/src/main/java/com/cim/idm/wmspackage/materialpacking/management/data/MaterialPacking.java +++ b/zi-wms-data/src/main/java/com/cim/idm/wmspackage/materialpacking/management/data/MaterialPacking.java @@ -134,7 +134,15 @@ public class MaterialPacking extends FieldAccessor implements DataInfo costCenters = costCenterService.getCostCenter(); return RespGenerator.returnOK(costCenters); } + + /** + * 获取用户信息 + * @return + */ + @RequestMapping(value = "/getUserInfo", method = RequestMethod.GET) + public BaseResponse getUserInfo() { + List> userInfos = costCenterService.getUserInfo(); + return RespGenerator.returnOK(userInfos); + } } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/LabelController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/LabelController.java index 285882f..e283cc0 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/LabelController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/LabelController.java @@ -13,6 +13,7 @@ import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl; import com.cim.idm.response.BaseResponse; import com.cim.idm.response.RespGenerator; +import com.cim.idm.service.CostCenterService; import com.cim.idm.service.LabelService; import com.cim.idm.utils.AjaxResult; import com.cim.idm.utils.EventInfoUtil; @@ -45,6 +46,8 @@ public class LabelController { @Resource private LabelService labelService; + @Resource + private CostCenterService costCenterService; // @Resource // private LabelPrintInfoService labelPrintInfoService; @@ -400,112 +403,11 @@ public class LabelController { MaterialPackingServiceProxy.getMaterialPackingService().setEvent(listKey, makeEventInfo, setEventInfo); return AjaxResult.me().setSuccess(true).setMessage("实际规格更新成功"); } + //更新业助 @RequestMapping(value = "/updateCareerAssistance", method = RequestMethod.POST) - public AjaxResult updateCareerAssistance(@RequestBody JSONObject in) { - - MaterialReceiveRequest sl = JSON.toJavaObject(in, MaterialReceiveRequest.class); - List boxList = sl.getBoxList();//CAREER_ASSISTANCE - String user = sl.getUser(); - String siteName = sl.getSiteName(); - String career_ASSISTANCE = sl.getRemark(); - String CUSTOMNO = sl.getCUSTOMNO(); - String pc = "("; - for (MaterialPacking materialPacking : boxList) { - String career_ASSISTANCE2 = materialPacking.getCAREER_ASSISTANCE(); - String CUSTOMNO2 = materialPacking.getCUSTOMNO(); - String materialPackingName = materialPacking.getMaterialPackingName(); - pc += "'" + materialPackingName + "',"; - String materialspecname = materialPacking.getMaterialSpecName(); - String charge = materialPacking.getCharge(); - String phase = materialPacking.getPHASE(); -// SetEventInfo setEventInfo = new SetEventInfo(); - Map hashMap = new HashMap (); -// hashMap.put("CAREER_ASSISTANCE", career_ASSISTANCE); - if (career_ASSISTANCE2 != null && !"".equals(career_ASSISTANCE2)) { - hashMap.put("CAREER_ASSISTANCE2", career_ASSISTANCE2); - } - if (CUSTOMNO2 != null && !"".equals(CUSTOMNO2)) { - hashMap.put("CUSTOMNO2", CUSTOMNO2); - } - - hashMap.put("SITENAME", siteName); - hashMap.put("MATERIALPACKINGNAME", materialPackingName); - hashMap.put("MATERIALSPECNAME", materialspecname); - hashMap.put("CHARGE", charge); - hashMap.put("PHASE", phase); - hashMap.put("IS_CHECK", "N"); - hashMap.put("USERID", user); - hashMap.put("CAREER_ASSISTANCE", career_ASSISTANCE); - hashMap.put("CUSTOMNO", CUSTOMNO); -// setEventInfo.setUserColumns(hashMap); -// MaterialPackingKey mk = new MaterialPackingKey(siteName,materialPackingName); -// EventInfo makeEventInfo = new EventInfoUtil().makeEventInfo("UpdateCareerAssistance", user, "UpdateCareerAssistance"); -// MaterialPackingServiceProxy.getMaterialPackingService().setEvent(mk, makeEventInfo, setEventInfo); - -// String yzSql = "SELECT * FROM USERINFO WHERE U.USERNAME = A.CAREER_ASSISTANCE"; - String yzSql = "SELECT U.USERNAME FROM USERINFO U WHERE U.USERID = :USERID "; - - List> userQueryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(yzSql, hashMap); - - - if(Objects.isNull(userQueryForList) || userQueryForList.isEmpty() || userQueryForList.size() < 1) { -// throw new RuntimeException("业助名称不正确或未注册"); - return AjaxResult.me().setSuccess(false).setMessage("业助名称不正确或未注册"); - }else { - String userName = userQueryForList.get(0).get("USERNAME") == null ? "" : userQueryForList.get(0).get("USERNAME").toString(); - if ((career_ASSISTANCE2 != null || !"".equals(career_ASSISTANCE2)) && !userName.equals(career_ASSISTANCE2)) { - return AjaxResult.me().setSuccess(false).setMessage("业助" + career_ASSISTANCE2 + "不能被修改"); - } - if ((career_ASSISTANCE != null || !"".equals(career_ASSISTANCE)) && !userName.equals(career_ASSISTANCE)) { - return AjaxResult.me().setSuccess(false).setMessage("业助" + career_ASSISTANCE + "不能被修改"); - } - } - } - pc += "'')"; - - String updateSql = "MERGE\r\n" + - "INTO\r\n" + - " MATERIALPACKINGCHECK T\r\n" + - " USING (\r\n" + - " SELECT\r\n" + - " *\r\n" + - " FROM\r\n" + - " MATERIALPACKING\r\n" + - " WHERE\r\n" + - " MATERIALPACKINGNAME IN " + pc + " ) M " + - "ON\r\n" + - " (T.MATERIALPACKINGNAME = M.MATERIALPACKINGNAME)\r\n" + - " WHEN MATCHED THEN\r\n" + - "UPDATE\r\n" + - "SET\r\n" + - " T.CAREER_ASSISTANCE = :CAREER_ASSISTANCE,\r\n" + - " T.CUSTOMNO = :CUSTOMNO, T.IS_CHECK = 'N' \r\n" + - " WHEN NOT MATCHED THEN\r\n" + - "INSERT\r\n" + - " (SITENAME,\r\n" + - " MATERIALPACKINGNAME,\r\n" + - " MATERIALSPECNAME,\r\n" + - " CHARGE,\r\n" + - " PHASE,\r\n" + - " IS_CHECK,\r\n" + - " CAREER_ASSISTANCE,\r\n" + - " CUSTOMNO)\r\n" + - "VALUES (M.SITENAME,\r\n" + - "M.MATERIALPACKINGNAME,\r\n" + - "M.MATERIALSPECNAME,\r\n" + - "M.CHARGE,\r\n" + - "M.PHASE,\r\n" + - "'N',\r\n" + - ":CAREER_ASSISTANCE,\r\n" + - ":CUSTOMNO)" ; - - Map map = new HashMap (); - map.put("CAREER_ASSISTANCE", career_ASSISTANCE); - map.put("CUSTOMNO", CUSTOMNO); - IDMFrameServiceProxy.getSqlTemplate().update(updateSql, map); - - + public AjaxResult updateCareerAssistance(@RequestBody JSONObject in) { + costCenterService.updateCareerAssistanceNew(in); return AjaxResult.me().setSuccess(true).setMessage("业助更新成功"); } @@ -520,6 +422,21 @@ public class LabelController { String customno = (String)param.get("CUSTOMNO"); String user = (String)param.get("user"); String is_check = (String)param.get("IS_CHECK"); + String SALESHIPREQUESTNAME = (String)param.get("SALESHIPREQUESTNAME"); + String SALESHIPREQUESTDETAILNAME = (String)param.get("SALESHIPREQUESTDETAILNAME"); + String POSTSTATUS = (String)param.get("POSTSTATUS"); + String MATERIALPACKINGNAME = (String)param.get("MATERIALPACKINGNAME"); + + String updatePackingSql ="UPDATE MATERIALPACKING SET SALESHIPREQUESTNAME = :SALESHIPREQUESTNAME, " + + "SALESHIPREQUESTDETAILNAME = :SALESHIPREQUESTDETAILNAME, " + + "POSTSTATUS = :POSTSTATUS WHERE MATERIALPACKINGNAME = :MATERIALPACKINGNAME"; + Map bindMapPac = new HashMap(); + bindMapPac.put("SALESHIPREQUESTNAME", SALESHIPREQUESTNAME); + bindMapPac.put("SALESHIPREQUESTDETAILNAME", SALESHIPREQUESTDETAILNAME); + bindMapPac.put("POSTSTATUS", POSTSTATUS); + bindMapPac.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME); + IDMFrameServiceProxy.getSqlTemplate().update(updatePackingSql, bindMapPac); + SetSpecEventInfo info = new SetSpecEventInfo(); Map bindMap = new HashMap(); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/dao/CostCenterDao.java b/zi-wms-pda/src/main/java/com/cim/idm/dao/CostCenterDao.java index 27dc51c..c7fb591 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/dao/CostCenterDao.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/dao/CostCenterDao.java @@ -2,13 +2,32 @@ package com.cim.idm.dao; import com.cim.idm.model.CostCenter; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; @Component @Mapper public interface CostCenterDao { List getCostCenter(); + List> getUserInfo(); + + void updatePacking(@Param("SALESHIPREQUESTNAME") String SALESHIPREQUESTNAME, + @Param("SALESHIPREQUESTDETAILNAME") String SALESHIPREQUESTDETAILNAME, + @Param("POSTSTATUS") String POSTSTATUS, + @Param("MATERIALPACKINGNAME") String MATERIALPACKINGNAME); + + void insertPackingChenk(@Param("SALESHIPREQUESTNAME") String SALESHIPREQUESTNAME, + @Param("SALESHIPREQUESTDETAILNAME") String SALESHIPREQUESTDETAILNAME, + @Param("MATERIALPACKINGNAME") String MATERIALPACKINGNAME, + @Param("SITENAME") String SITENAME, + @Param("materialSpecName") String materialSpecName, + @Param("charge") String charge, + @Param("phase") String phase, + @Param("customno") String customno, + @Param("careerAssistance") String careerAssistance, + @Param("POSTSTATUS") String POSTSTATUS); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveRequest.java b/zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveRequest.java index 658e08c..6d16252 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveRequest.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveRequest.java @@ -29,5 +29,9 @@ public class MaterialReceiveRequest { private String phase; private String CUSTOMNO; private String truegg; + /**销售订单*/ + private String SALESHIPREQUESTNAME; + /**销售订单行号*/ + private String SALESHIPREQUESTDETAILNAME; private List boxList; } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/CostCenterService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/CostCenterService.java index a8cb7da..0e7d2a6 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/CostCenterService.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/CostCenterService.java @@ -1,9 +1,14 @@ package com.cim.idm.service; +import com.alibaba.fastjson.JSONObject; import com.cim.idm.model.CostCenter; import java.util.List; +import java.util.Map; public interface CostCenterService { List getCostCenter(); + List> getUserInfo(); + + void updateCareerAssistanceNew(JSONObject in); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/CostCenterServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/CostCenterServiceImpl.java index cbcaafb..7648a00 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/CostCenterServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/CostCenterServiceImpl.java @@ -1,13 +1,20 @@ package com.cim.idm.service.Impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.cim.idm.dao.CostCenterDao; import com.cim.idm.model.CostCenter; +import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.service.CostCenterService; +import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Map; @Service("CostCenterService") @Slf4j @@ -19,4 +26,54 @@ public class CostCenterServiceImpl implements CostCenterService { public List getCostCenter() { return costCenterDao.getCostCenter(); } + + @Override + public List> getUserInfo() { + return costCenterDao.getUserInfo(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateCareerAssistanceNew(JSONObject in) { + MaterialReceiveRequest sl = JSON.toJavaObject(in, MaterialReceiveRequest.class); + List boxList = sl.getBoxList(); + String SALESHIPREQUESTNAME = sl.getSALESHIPREQUESTNAME(); + String SALESHIPREQUESTDETAILNAME = sl.getSALESHIPREQUESTDETAILNAME(); + String siteName = sl.getSiteName(); + // 借用人 + String career_ASSISTANCE = sl.getRemark(); + for (MaterialPacking materialPacking : boxList) { + // 条码 + String materialPackingName = materialPacking.getMaterialPackingName(); + // 原销售订单号 + String saleshiprequestname = materialPacking.getSALESHIPREQUESTNAME(); + // 物料编号 + String materialSpecName = materialPacking.getMaterialSpecName(); + // 批次号 + String charge = materialPacking.getCharge(); + // 阶段 + String phase = materialPacking.getPHASE(); + // 客户 + String customno = materialPacking.getCUSTOMNO(); + // 过账状态 + String POSTSTATUS = ""; + if (StringUtils.isEmpty(saleshiprequestname) && StringUtils.isNotEmpty(SALESHIPREQUESTNAME)){ + POSTSTATUS = "0"; + } else if (StringUtils.isNotEmpty(saleshiprequestname) && StringUtils.isEmpty(SALESHIPREQUESTNAME)){ + POSTSTATUS = "1"; + } else if (StringUtils.isNotEmpty(saleshiprequestname) && StringUtils.isNotEmpty(SALESHIPREQUESTNAME)){ + POSTSTATUS = "2"; + } + if (StringUtils.isEmpty(materialPacking.getCAREER_ASSISTANCE()) || materialPacking.getCAREER_ASSISTANCE().equals(career_ASSISTANCE)){ + // 更新 + costCenterDao.updatePacking(SALESHIPREQUESTNAME, SALESHIPREQUESTDETAILNAME, POSTSTATUS, materialPackingName); + } else { + // 新增 + costCenterDao.insertPackingChenk(SALESHIPREQUESTNAME, SALESHIPREQUESTDETAILNAME, + materialPackingName, siteName, materialSpecName, charge,phase, + customno, career_ASSISTANCE,POSTSTATUS); + } + } + + } } diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/CostCenterDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/CostCenterDao.xml index 3079a72..15aa532 100644 --- a/zi-wms-pda/src/main/resources/com/cim/idm/dao/CostCenterDao.xml +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/CostCenterDao.xml @@ -6,4 +6,26 @@ select id, cost_code costCode, cost_name costName, erp_factory erpFactory, department, division from cost_center + + + + + UPDATE MATERIALPACKING SET + SALESHIPREQUESTNAME = #{SALESHIPREQUESTNAME, jdbcType=VARCHAR}, + SALESHIPREQUESTDETAILNAME = #{SALESHIPREQUESTDETAILNAME, jdbcType=VARCHAR}, + POSTSTATUS = #{POSTSTATUS, jdbcType=VARCHAR} + WHERE MATERIALPACKINGNAME = #{MATERIALPACKINGNAME, jdbcType=VARCHAR} + + + + insert into MATERIALPACKINGCHECK(MATERIALPACKINGNAME,SALESHIPREQUESTNAME, + SALESHIPREQUESTDETAILNAME,SITENAME,IS_CHECK, MATERIALSPECNAME, + CHARGE,PHASE,CUSTOMNO,CAREER_ASSISTANCE,POSTSTATUS) + values(#{MATERIALPACKINGNAME, jdbcType=VARCHAR}, #{SALESHIPREQUESTNAME, jdbcType=VARCHAR}, + #{SALESHIPREQUESTDETAILNAME, jdbcType=VARCHAR}, #{SITENAME, jdbcType=VARCHAR}, 'N', + #{materialSpecName, jdbcType=VARCHAR}, #{charge, jdbcType=VARCHAR}, #{phase, jdbcType=VARCHAR}, + #{customno, jdbcType=VARCHAR},#{careerAssistance, jdbcType=VARCHAR}, #{POSTSTATUS, jdbcType=VARCHAR}) + \ No newline at end of file