冻结解冻修复

This commit is contained in:
李兴辉 2025-03-20 19:44:35 +08:00
parent e770868de1
commit de81d8a5f7
7 changed files with 152 additions and 2 deletions

View File

@ -129,6 +129,16 @@ public class MaterialPacking extends FieldAccessor implements DataInfo<MaterialP
private String CUSTOMNO; private String CUSTOMNO;
private String lastHoldUser; //最近一次冻结人
public String getLastHoldUser() {
return lastHoldUser;
}
public void setLastHoldUser(String lastHoldUser) {
this.lastHoldUser = lastHoldUser;
}
public String getSALESPERSON() { public String getSALESPERSON() {
return SALESPERSON; return SALESPERSON;

View File

@ -2,6 +2,7 @@
<configuration default="false" name="CNMsvr" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> <configuration default="false" name="CNMsvr" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="zi-wms-boot" /> <module name="zi-wms-boot" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.zi.mwms.solution.Application" /> <option name="SPRING_BOOT_MAIN_CLASS" value="com.zi.mwms.solution.Application" />
<option name="VM_PARAMETERS" value="-DWMS_HOME=$ProjectFileDir$/zi-wms-environment/ -DconfigRootPath=$ProjectFileDir$/zi-wms-environment/config -DLOGDIR=$ProjectFileDir$/../logs -Dcompany=BOE -Dfactory=B16 -Dcim=MWMS -Dmode=DEV10539622 -Dsvr=CNMsvr -DSeq=CNMsvr1 -Dclient=OIC -Dmode=DEV -Dservice=8400 -Dnetwork=;225.11.11.4 -Ddaemon= -DworkerWeight=2 -DworkerTasks=1 -DschedulerWeight=10 -Ddq=${USERNAME} -DdataField=Message -Ddbtype=DEV -Didmframe.flow.bpelj=http://bpel.boe.com/bpelj/ -Dspring.jdbc.getParameterType.ignore=true -Dhttp.port=18873 -Duseamqp=false -Dscheduler=false -DuseTibrv=false -Dtypemode=Local" />
<method v="2"> <method v="2">
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>

View File

@ -0,0 +1,45 @@
package com.cim.idm.controller;
import com.cim.idm.model.HoldAndReleaseDto;
import com.cim.idm.response.BaseResponse;
import com.cim.idm.response.RespGenerator;
import com.cim.idm.service.HoldAndReleaseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@RestController
@RequestMapping("/holdAndRelease")
@Slf4j
@Api(tags = "HoldAndReleaseController", description = "冻结解冻库存")
public class HoldAndReleaseController {
@Autowired
private HoldAndReleaseService holdAndReleaseService;
@PostMapping("/holdAndReleaseM")
@ApiOperation(value = "冻结解冻库存")
public BaseResponse<Object> hold(HttpServletRequest request,
HttpServletResponse response,
@ApiParam(value = "冻结解冻参数", required = true) @RequestBody HoldAndReleaseDto HoldAndReleaseDto){
log.info("HoldAndReleaseController hold {}", HoldAndReleaseDto);
try {
if (HoldAndReleaseDto == null) {
return RespGenerator.returnError("参数错误");
}
holdAndReleaseService.hold(HoldAndReleaseDto);
} catch (Exception e) {
log.error("HoldAndReleaseController hold error", e);
return RespGenerator.returnError("参数错误");
}
return RespGenerator.returnOK(null);
}
}

View File

@ -0,0 +1,24 @@
package com.cim.idm.model;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
@Slf4j
@Data
public class HoldAndReleaseDto {
private String userId;
private String flag;
private List<HoldAndReleaseDtoBuilder> boxList;
@Data
public static class HoldAndReleaseDtoBuilder {
private String siteName;
private String barCode;
}
}

View File

@ -7,7 +7,7 @@ public class RespGenerator {
* 接口返回数据 * 接口返回数据
*/ */
public static BaseResponse returnOK(Object data) { public static BaseResponse returnOK(Object data) {
return new BaseResponse("0", "SUCCESS!", data); return new BaseResponse("200", "SUCCESS!", data);
} }
/** /**
@ -36,6 +36,6 @@ public class RespGenerator {
* 错误信息 * 错误信息
*/ */
public static BaseResponse<Object> returnError(String message) { public static BaseResponse<Object> returnError(String message) {
return new BaseResponse<Object>("-1", message, null); return new BaseResponse<Object>("500", message, null);
} }
} }

View File

@ -0,0 +1,9 @@
package com.cim.idm.service;
import com.cim.idm.model.HoldAndReleaseDto;
public interface HoldAndReleaseService {
//冻结或者解锁库存
public void hold(HoldAndReleaseDto holdAndReleaseDto);
}

View File

@ -0,0 +1,61 @@
package com.cim.idm.service.Impl;
import com.cim.idm.framework.data.EventInfo;
import com.cim.idm.model.HoldAndReleaseDto;
import com.cim.idm.service.HoldAndReleaseService;
import com.cim.idm.utils.EventInfoUtil;
import com.cim.idm.wmspackage.materialpacking.MaterialPackingServiceProxy;
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking;
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPackingKey;
import com.cim.idm.wmspackage.materialpacking.management.info.SetEventInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@Slf4j
public class HoldAndReleaseServiceImpl implements HoldAndReleaseService {
/**
* @param holdAndReleaseDto
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void hold(HoldAndReleaseDto holdAndReleaseDto) {
log.debug("HoldAndReleaseServiceImpl hold {}", holdAndReleaseDto);
SetEventInfo setEventInfo = new SetEventInfo();
EventInfo eventInfo = null;
String userId = holdAndReleaseDto.getUserId();
List<HoldAndReleaseDto.HoldAndReleaseDtoBuilder> boxList = holdAndReleaseDto.getBoxList();
List<MaterialPackingKey> mpKeyList = new ArrayList<MaterialPackingKey>();
for (HoldAndReleaseDto.HoldAndReleaseDtoBuilder holdAndReleaseDtoBuilder : boxList) {
String barCode = holdAndReleaseDtoBuilder.getBarCode();
String siteName = holdAndReleaseDtoBuilder.getSiteName();
MaterialPackingKey materialPackingKey = new MaterialPackingKey(siteName, barCode);
mpKeyList.add(materialPackingKey);
}
String flag = holdAndReleaseDto.getFlag();
//判断标志冻结和解冻走不同的方法
switch(flag) {
case "Y": //冻结
eventInfo = EventInfoUtil.makeEventInfo("Hold", userId, "冻结库存");
break;
case "N"://解冻
eventInfo = EventInfoUtil.makeEventInfo("Release", userId, "解冻库存");
break;
default:
break;
}
Map<String, Object> bindMap = new HashMap<String, Object>();
bindMap.put("holdState", flag);
bindMap.put("lastHoldUser", userId);
setEventInfo.setUserColumns(bindMap);
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(mpKeyList, eventInfo, setEventInfo);
}
}