业助客户更新,审核

This commit is contained in:
王帅 2025-05-19 09:00:43 +08:00
parent e51c4eea7f
commit c28d4205db
8 changed files with 147 additions and 104 deletions

View File

@ -134,7 +134,15 @@ public class MaterialPacking extends FieldAccessor implements DataInfo<MaterialP
private String lastHoldUser; //最近一次冻结人 private String lastHoldUser; //最近一次冻结人
private String preOqaResult; // 质检前状态 private String preOqaResult; // 质检前状态
private String SALESHIPREQUESTNAME; // 销售订单号
public String getSALESHIPREQUESTNAME() {
return SALESHIPREQUESTNAME;
}
public void setSALESHIPREQUESTNAME(String SALESHIPREQUESTNAME) {
this.SALESHIPREQUESTNAME = SALESHIPREQUESTNAME;
}
public String getLastHoldUser() { public String getLastHoldUser() {
return lastHoldUser; return lastHoldUser;

View File

@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Map;
@RestController @RestController
@ -32,4 +33,14 @@ public class CostCenterController {
List<CostCenter> costCenters = costCenterService.getCostCenter(); List<CostCenter> costCenters = costCenterService.getCostCenter();
return RespGenerator.returnOK(costCenters); return RespGenerator.returnOK(costCenters);
} }
/**
* 获取用户信息
* @return
*/
@RequestMapping(value = "/getUserInfo", method = RequestMethod.GET)
public BaseResponse<Object> getUserInfo() {
List<Map<String, Object>> userInfos = costCenterService.getUserInfo();
return RespGenerator.returnOK(userInfos);
}
} }

View File

@ -13,6 +13,7 @@ import com.cim.idm.model.po.MaterialReceiveRequest;
import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl; import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl;
import com.cim.idm.response.BaseResponse; import com.cim.idm.response.BaseResponse;
import com.cim.idm.response.RespGenerator; import com.cim.idm.response.RespGenerator;
import com.cim.idm.service.CostCenterService;
import com.cim.idm.service.LabelService; import com.cim.idm.service.LabelService;
import com.cim.idm.utils.AjaxResult; import com.cim.idm.utils.AjaxResult;
import com.cim.idm.utils.EventInfoUtil; import com.cim.idm.utils.EventInfoUtil;
@ -45,6 +46,8 @@ public class LabelController {
@Resource @Resource
private LabelService labelService; private LabelService labelService;
@Resource
private CostCenterService costCenterService;
// @Resource // @Resource
// private LabelPrintInfoService labelPrintInfoService; // private LabelPrintInfoService labelPrintInfoService;
@ -400,112 +403,11 @@ public class LabelController {
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(listKey, makeEventInfo, setEventInfo); MaterialPackingServiceProxy.getMaterialPackingService().setEvent(listKey, makeEventInfo, setEventInfo);
return AjaxResult.me().setSuccess(true).setMessage("实际规格更新成功"); return AjaxResult.me().setSuccess(true).setMessage("实际规格更新成功");
} }
//更新业助 //更新业助
@RequestMapping(value = "/updateCareerAssistance", method = RequestMethod.POST) @RequestMapping(value = "/updateCareerAssistance", method = RequestMethod.POST)
public AjaxResult updateCareerAssistance(@RequestBody JSONObject in) { public AjaxResult updateCareerAssistance(@RequestBody JSONObject in) {
costCenterService.updateCareerAssistanceNew(in);
MaterialReceiveRequest sl = JSON.toJavaObject(in, MaterialReceiveRequest.class);
List<MaterialPacking> 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<String, Object> hashMap = new HashMap<String,Object> ();
// 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<Map<String, Object>> 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<String, Object> map = new HashMap<String,Object> ();
map.put("CAREER_ASSISTANCE", career_ASSISTANCE);
map.put("CUSTOMNO", CUSTOMNO);
IDMFrameServiceProxy.getSqlTemplate().update(updateSql, map);
return AjaxResult.me().setSuccess(true).setMessage("业助更新成功"); return AjaxResult.me().setSuccess(true).setMessage("业助更新成功");
} }
@ -520,6 +422,21 @@ public class LabelController {
String customno = (String)param.get("CUSTOMNO"); String customno = (String)param.get("CUSTOMNO");
String user = (String)param.get("user"); String user = (String)param.get("user");
String is_check = (String)param.get("IS_CHECK"); 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<String, Object> bindMapPac = new HashMap<String, Object>();
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(); SetSpecEventInfo info = new SetSpecEventInfo();
Map<String, Object> bindMap = new HashMap<String, Object>(); Map<String, Object> bindMap = new HashMap<String, Object>();

View File

@ -2,13 +2,32 @@ package com.cim.idm.dao;
import com.cim.idm.model.CostCenter; import com.cim.idm.model.CostCenter;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
import java.util.Map;
@Component @Component
@Mapper @Mapper
public interface CostCenterDao { public interface CostCenterDao {
List<CostCenter> getCostCenter(); List<CostCenter> getCostCenter();
List<Map<String, Object>> 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);
} }

View File

@ -29,5 +29,9 @@ public class MaterialReceiveRequest {
private String phase; private String phase;
private String CUSTOMNO; private String CUSTOMNO;
private String truegg; private String truegg;
/**销售订单*/
private String SALESHIPREQUESTNAME;
/**销售订单行号*/
private String SALESHIPREQUESTDETAILNAME;
private List<com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking> boxList; private List<com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking> boxList;
} }

View File

@ -1,9 +1,14 @@
package com.cim.idm.service; package com.cim.idm.service;
import com.alibaba.fastjson.JSONObject;
import com.cim.idm.model.CostCenter; import com.cim.idm.model.CostCenter;
import java.util.List; import java.util.List;
import java.util.Map;
public interface CostCenterService { public interface CostCenterService {
List<CostCenter> getCostCenter(); List<CostCenter> getCostCenter();
List<Map<String, Object>> getUserInfo();
void updateCareerAssistanceNew(JSONObject in);
} }

View File

@ -1,13 +1,20 @@
package com.cim.idm.service.Impl; 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.dao.CostCenterDao;
import com.cim.idm.model.CostCenter; import com.cim.idm.model.CostCenter;
import com.cim.idm.model.po.MaterialReceiveRequest;
import com.cim.idm.service.CostCenterService; import com.cim.idm.service.CostCenterService;
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
import java.util.Map;
@Service("CostCenterService") @Service("CostCenterService")
@Slf4j @Slf4j
@ -19,4 +26,54 @@ public class CostCenterServiceImpl implements CostCenterService {
public List<CostCenter> getCostCenter() { public List<CostCenter> getCostCenter() {
return costCenterDao.getCostCenter(); return costCenterDao.getCostCenter();
} }
@Override
public List<Map<String, Object>> getUserInfo() {
return costCenterDao.getUserInfo();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateCareerAssistanceNew(JSONObject in) {
MaterialReceiveRequest sl = JSON.toJavaObject(in, MaterialReceiveRequest.class);
List<MaterialPacking> 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);
}
}
}
} }

View File

@ -6,4 +6,26 @@
select id, cost_code costCode, cost_name costName, erp_factory erpFactory, department, division select id, cost_code costCode, cost_name costName, erp_factory erpFactory, department, division
from cost_center from cost_center
</select> </select>
<select id="getUserInfo" resultType="java.util.Map">
SELECT USERID, USERNAME FROM USERINFO
</select>
<update id="updatePacking">
UPDATE MATERIALPACKING SET
SALESHIPREQUESTNAME = #{SALESHIPREQUESTNAME, jdbcType=VARCHAR},
SALESHIPREQUESTDETAILNAME = #{SALESHIPREQUESTDETAILNAME, jdbcType=VARCHAR},
POSTSTATUS = #{POSTSTATUS, jdbcType=VARCHAR}
WHERE MATERIALPACKINGNAME = #{MATERIALPACKINGNAME, jdbcType=VARCHAR}
</update>
<insert id="insertPackingChenk">
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})
</insert>
</mapper> </mapper>