Browse Source

制品返修修改

master
赵雪冰 2 years ago
parent
commit
447f8c1a90
  1. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java
  2. 77
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainImportVO.java
  3. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java
  4. 31
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java

21
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java

@ -136,14 +136,25 @@ public class ProductrepairRequestMainController {
// 手动创建导出 demo
List<ProductrepairRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
// mapDropDown.put(2, transferMode);
// String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
// mapDropDown.put(10, inventoryStatus);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(11, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(14, uom);
String[] childUom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(16, childUom);
// 输出
ExcelUtils.write(response, "制品返修申请信息导入模板.xlsx", "制品返修申请信息列表", ProductrepairRequestMainImportVO.class, list, mapDropDown);
}
/**
* 导入先不做暂时没有主-->子表-->子表的结构
* @param response
* @param file
* @param mode
* @param updatePart
* @return
* @throws Exception
*/
@PostMapping("/import")
@Operation(summary = "导入制品返修申请")
@Parameters({
@ -157,7 +168,7 @@ public class ProductrepairRequestMainController {
List<ProductrepairRequestMainImportVO> list = ExcelUtils.read(file, ProductrepairRequestMainImportVO.class);
ConvertUtil<ProductrepairRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(ProductrepairRequestMainCreateReqVO.class);
List<ProductrepairRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<TransferissueRequestMainImportErrorVO> errorList = productrepairRequestMainService.importProductrepairRequestMainList(createReqVOList, mode, updatePart);
List<ProductrepairRequestMainImportErrorVO> errorList = productrepairRequestMainService.importProductrepairRequestMainList(createReqVOList, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());
if (!errorList.isEmpty()) {

77
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainImportVO.java

@ -4,11 +4,13 @@ package com.win.module.wms.controller.productrepairRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@ -17,6 +19,7 @@ import java.time.LocalDateTime;
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class ProductrepairRequestMainImportVO {
// 主表字段
@ExcelProperty("车间代码")
private String workshopCode;
@ -26,60 +29,52 @@ public class ProductrepairRequestMainImportVO {
@ExcelProperty("班次")
private String shift;
@ExcelProperty("从仓库代码")
private String fromWarehouseCode;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ExcelProperty("备注")
private String remark;
@ExcelProperty("截止时间")
private LocalDateTime dueTime;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
// 一级子表字段
@ExcelProperty("生产线代码")
private String productionlineCode;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("工位代码")
private String workStationCode;
@ExcelProperty("申请时间")
private LocalDateTime requestTime;
@ExcelProperty("工序代码")
private String processCode;
@ExcelProperty("截止时间")
private LocalDateTime dueTime;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("部门")
private String departmentCode;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("request_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String status;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("最后更新者用户名")
private String updater;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String fromLocationTypes;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("从库区代码范围")
private String fromAreaCodes;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty("自动提交")
private String autoCommit;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String uom;
@ExcelProperty("自动通过")
private String autoAgree;
//二级子表
@ExcelProperty("BOM子物品代码")
private String childItemCode;
@ExcelProperty("自动执行")
private String autoExecute;
@ExcelProperty(value = "BOM子计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String childUom;
@ExcelProperty("直接生成记录")
private String directCreateRecord;
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java

@ -135,5 +135,5 @@ public interface ProductrepairRequestMainService {
* @param updatePart
* @return
*/
List<TransferissueRequestMainImportErrorVO> importProductrepairRequestMainList(List<ProductrepairRequestMainCreateReqVO> createReqVOList, Integer mode, Boolean updatePart);
List<ProductrepairRequestMainImportErrorVO> importProductrepairRequestMainList(List<ProductrepairRequestMainCreateReqVO> createReqVOList, Integer mode, Boolean updatePart);
}

31
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java

@ -1,5 +1,6 @@
package com.win.module.wms.service.productrepairRequest;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
@ -9,11 +10,13 @@ import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordDetailCreateReqVO;
import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainCreateReqVO;
import com.win.module.wms.controller.productrepairRequest.vo.*;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailCreateReqVO;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainImportErrorVO;
import com.win.module.wms.convert.productrepairRecord.ConsumeRecordDetailbConvert;
import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordDetailConvert;
@ -21,6 +24,8 @@ import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordMainCon
import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestDetailaConvert;
import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestDetailbConvert;
import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestMainConvert;
import com.win.module.wms.convert.transferissueRequest.TransferissueRequestDetailConvert;
import com.win.module.wms.convert.transferissueRequest.TransferissueRequestMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
@ -35,6 +40,8 @@ import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.shift.ShiftDO;
import com.win.module.wms.dal.dataobject.team.TeamDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO;
import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.mysql.productrepairRecord.ConsumeRecordDetailbMapper;
import com.win.module.wms.dal.mysql.productrepairRecord.ProductrepairRecordDetailMapper;
@ -118,6 +125,7 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
@Resource
private TransactionService transactionService;
@Transactional
@Override
public Long createProductrepairRequestMain(ProductrepairRequestMainCreateReqVO createReqVO) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("ProductRepairRequest");
@ -130,7 +138,7 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
return productrepairRequestMainDO.getId();
}
private void generateJob(ProductrepairRequestMainDO mainDO, List<ProductrepairRequestDetailaDO> detailaDOList) {
public void generateJob(ProductrepairRequestMainDO mainDO, List<ProductrepairRequestDetailaDO> detailaDOList) {
//跳过任务直接生成记录
if("TRUE".equals(mainDO.getDirectCreateRecord())) {
ProductrepairRecordMainCreateReqVO productrepairRecordMainCreateReqVO = new ProductrepairRecordMainCreateReqVO();
@ -196,7 +204,7 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
}
}
private ProductrepairRequestMainDO validatorToCreate(ProductrepairRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) {
public ProductrepairRequestMainDO validatorToCreate(ProductrepairRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) {
// DBT——>DBT3("ProductRepairRequest")
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductRepairRequest");
ProductrepairRequestMainDO mainBo = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO);
@ -230,7 +238,7 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
return mainBo;
}
private void validateDetailbBom(ProductrepairRequestDetailbDO detailbDO, ProductrepairRequestDetailaDO detailaDO, ProductrepairRequestMainDO mainBo) {
public void validateDetailbBom(ProductrepairRequestDetailbDO detailbDO, ProductrepairRequestDetailaDO detailaDO, ProductrepairRequestMainDO mainBo) {
// 校验--物品基本信息
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailbDO.getItemCode());
// 赋值物品Item相关信息
@ -535,9 +543,22 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest
return pageResult;
}
@Transactional
@Override
public List<TransferissueRequestMainImportErrorVO> importProductrepairRequestMainList(List<ProductrepairRequestMainCreateReqVO> createReqVOList, Integer mode, Boolean updatePart) {
return null;
public List<ProductrepairRequestMainImportErrorVO> importProductrepairRequestMainList(List<ProductrepairRequestMainCreateReqVO> createReqVOList, Integer mode, Boolean updatePart) {
if (CollUtil.isEmpty(createReqVOList)) {
throw exception(PRODUCTREPAIR_REQUEST_MAIN_NOT_EXISTS);
}
List<ProductrepairRequestMainImportErrorVO> errorList = new ArrayList<>();
createReqVOList.forEach(createReqVO -> {
ProductrepairRequestMainDO mainDo = new ProductrepairRequestMainDO();
mainDo.setWorkshopCode(createReqVO.getWorkshopCode());//车间代码
mainDo.setTeam(createReqVO.getTeam());//班组
mainDo.setShift(createReqVO.getShift()); // 班次
mainDo.setDueTime(createReqVO.getDueTime()); //截止时间
});
// log.info("调拨出库申请错误信息:{}",errorList);
return errorList;
}

Loading…
Cancel
Save