package com.glxp.api.controller.purchase; //领用单 import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantType; import com.glxp.api.controller.BaseController; import com.glxp.api.controller.inv.InvPreProductController; import com.glxp.api.controller.inv.InvPreinProductController; import com.glxp.api.controller.inv.InvProductController; import com.glxp.api.dao.auth.InvWarehouseDao; import com.glxp.api.dao.basic.BasicDestinyRelMapper; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; import com.glxp.api.entity.basic.BasicProductsEntity; import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.PurReceiveDetailEntity; import com.glxp.api.entity.inout.PurReceiveEntity; import com.glxp.api.entity.purchase.*; import com.glxp.api.exception.JsonException; import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.inout.*; import com.glxp.api.req.inv.FilterInvPreProductRequest; import com.glxp.api.req.inv.FilterInvPreinProductRequest; import com.glxp.api.req.inv.FilterInvProductRequest; import com.glxp.api.req.purchase.purReceiveRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.inout.ReceiveDetailResponse; import com.glxp.api.res.inout.ReceiveResponse; import com.glxp.api.res.inv.InvPreProductResponse; import com.glxp.api.res.inv.InvPreinProductResponse; import com.glxp.api.res.inv.InvProductResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.auth.WarehouseUserService; import com.glxp.api.service.basic.IBasicBusTypeChangeService; import com.glxp.api.service.basic.SysApprovalFlowService; import com.glxp.api.service.basic.UdiProductService; import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.inout.impl.ReceiveDetailService; import com.glxp.api.service.inout.impl.ReceiveService; import com.glxp.api.service.inv.InvPreProductService; import com.glxp.api.service.inv.InvPreinProductService; import com.glxp.api.service.inv.impl.InvProductService; import com.glxp.api.service.purchase.*; import com.glxp.api.service.purchase.impl.PurApplyDetailService; import com.glxp.api.service.purchase.impl.PurApplyService; import com.glxp.api.service.purchase.impl.PurOrderDetailService; import com.glxp.api.service.purchase.impl.PurPlanDetailService; import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.util.*; import com.glxp.api.util.udi.FilterUdiUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @RestController public class PurOrderReceiveController extends BaseController { @Resource ReceiveService receiveService; @Resource ReceiveDetailService receivedetailService; @Resource CustomerService customerService; @Resource GennerOrderUtils gennerOrderUtils; @Resource PurApplyDetailService purApplyDetailService; @Resource UdiProductService udiProductService; @Resource IBasicBusTypeChangeService basicBusTypeChangeService; @Resource PurApplyService purApplyService; @Resource PurPlanService purPlanService; @Resource PurPlanDetailService purPlanDetailService; @Resource PurOrderService purOrderService; @Resource PurOrderDetailService purOrderDetailService; @Resource IoOrderService ioOrderService; @Resource IoOrderDetailBizService ioOrderDetailBizService; @Resource IoPurChangeService purChangeService; @Resource InvWarehouseDao invWarehouseDao; @Resource InvPreProductController invPreProductController; @Resource InvPreinProductController invPreinProductController; @Resource InvProductController invProductController; @Resource SysApprovalFlowService sysApprovalFlowService; @Resource SystemParamConfigService systemParamConfigService; @Resource BasicDestinyRelMapper basicDestinyRelMapper; final String type = "ly"; @AuthRuleAnnotation("") @PostMapping("/udiwms/thrsys/order/insertWeb") public BaseResponse addReceive(@RequestBody PurReceiveEntity purReceiveEntity, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } Long userId = customerService.getUserId(); InvWarehouseEntity curWarehouseEntity = invWarehouseService.findByInvSubByCode(purReceiveEntity.getInvCode()); InvWarehouseEntity targetWarehouseEntity = invWarehouseService.findByInvSubByCode(purReceiveEntity.getTargetInvCode()); purReceiveEntity.setCreateUser(userId + ""); purReceiveEntity.setCreateTime(new Date()); purReceiveEntity.setUpdateTime(new Date()); String orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.LIN_YONG, "yyyyMMdd")); purReceiveEntity.setBillNo(orderNo); purReceiveEntity.setDeptCode(curWarehouseEntity.getParentId()); purReceiveEntity.setTargetDeptCode(targetWarehouseEntity.getParentId()); receiveService.insertOrder(purReceiveEntity); return ResultVOUtils.success("成功"); } @AuthRuleAnnotation("") @PostMapping("/udiwms/receive/order/update") public BaseResponse updateReceive(@RequestBody PurReceiveEntity purReceiveEntity, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } Long userId = customerService.getUserId(); purReceiveEntity.setStatus(purReceiveEntity.getStatus()); Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow")); Integer editStatus = purReceiveEntity.getStatus(); if (editStatus == 2 && sys_approval_flow){//提交审核 String approvalFlowId = sysApprovalFlowService.getApprovalFlowId(); purReceiveEntity.setApprovalFlowId(approvalFlowId); sysApprovalFlowService.generateFlow(approvalFlowId,purReceiveEntity.getBillNo(),type); } purReceiveEntity.setUpdateUser(userId + ""); purReceiveEntity.setUpdateTime(new Date()); receiveService.updateOrder(purReceiveEntity); return ResultVOUtils.success("成功"); } @AuthRuleAnnotation("") @GetMapping("/udiwms/receive/order/filter") public BaseResponse filterReceive(FilterReceiveRequest filterReceiveRequest) { if (filterReceiveRequest.getIsInvCode() != null && filterReceiveRequest.getIsInvCode()) { AuthAdmin authAdmin = customerService.getUserBean(); filterReceiveRequest.setTargetInvCode(authAdmin.getLocInvCode()); } Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow")); filterReceiveRequest.setSysApprovalFlow(sys_approval_flow); List data = receiveService.filterList(filterReceiveRequest); PageInfo pageInfo = new PageInfo<>(data); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(data); return ResultVOUtils.success(pageSimpleResponse); } @AuthRuleAnnotation("") @GetMapping("/udiwms/receive/order/detail") public BaseResponse filterReceiveDetail(FilterReceiveDetailRequest filterReceiveDetailRequest) { List data = receivedetailService.filterList(filterReceiveDetailRequest); PageInfo pageInfo = new PageInfo<>(data); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(data); return ResultVOUtils.success(pageSimpleResponse); } @AuthRuleAnnotation("") @GetMapping("/udiwms/receive/drug/order/detail") public BaseResponse filterReceiveDrugDetail(FilterReceiveDetailRequest filterReceiveDetailRequest) { List data = receivedetailService.filterDrugList(filterReceiveDetailRequest); PageInfo pageInfo = new PageInfo<>(data); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(data); return ResultVOUtils.success(pageSimpleResponse); } @Resource InvWarehouseService invWarehouseService; @AuthRuleAnnotation("") @PostMapping("/udiwms/receive/detail/add") public BaseResponse updateReceive(@RequestBody AddReceiveDetailRequest addReceiveDetailRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } AuthAdmin authAdmin = getUser(); String orderNo = addReceiveDetailRequest.getPurReceiveEntity().getBillNo(); if (addReceiveDetailRequest.getPurReceiveEntity() == null) return ResultVOUtils.error(500, "未指定订单"); if (CollUtil.isEmpty(addReceiveDetailRequest.getDatas())) { return ResultVOUtils.error(500, "未选择产品信息"); } PurReceiveEntity purReceiveEntity = addReceiveDetailRequest.getPurReceiveEntity(); if (StrUtil.isEmpty(purReceiveEntity.getBillNo())) { InvWarehouseEntity curWarehouseEntity = invWarehouseService.findByInvSubByCode(purReceiveEntity.getInvCode()); InvWarehouseEntity targetWarehouseEntity = invWarehouseService.findByInvSubByCode(purReceiveEntity.getTargetInvCode()); orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.LIN_YONG, "yyyyMMdd")); purReceiveEntity.setBillNo(orderNo); purReceiveEntity.setCreateUser(authAdmin.getId() + ""); purReceiveEntity.setCreateTime(new Date()); purReceiveEntity.setStatus(1); purReceiveEntity.setDeptCode(curWarehouseEntity.getParentId()); purReceiveEntity.setTargetDeptCode(targetWarehouseEntity.getParentId()); receiveService.insertOrder(purReceiveEntity); } for (AddReceiveDetailRequest.DetaiData detaiData : addReceiveDetailRequest.getDatas()) { PurReceiveDetailEntity purReceiveDetailEntity = new PurReceiveDetailEntity(); purReceiveDetailEntity.setOrderIdFk(purReceiveEntity.getBillNo()); purReceiveDetailEntity.setNameCode(detaiData.getNameCode()); purReceiveDetailEntity.setExpireDate(detaiData.getExpireDate()); purReceiveDetailEntity.setProductDate(detaiData.getProductDate()); purReceiveDetailEntity.setRelIdFk(detaiData.getRelId()); purReceiveDetailEntity.setBatchNo(detaiData.getBatchNo()); purReceiveDetailEntity.setPrice(detaiData.getPrice()); purReceiveDetailEntity.setSupId(detaiData.getSupId()); receivedetailService.insert(purReceiveDetailEntity); } purReceiveEntity.setUpdateTime(new Date()); receiveService.updateOrder(purReceiveEntity); return ResultVOUtils.success(orderNo); } @AuthRuleAnnotation("") @PostMapping("/udiwms/thrsys/order/repeatAdd") public BaseResponse repeatAddReceive(@RequestBody AddReceiveDetailRequest addReceiveDetailRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } AuthAdmin authAdmin = getUser(); PurReceiveEntity purReceiveEntity = addReceiveDetailRequest.getPurReceiveEntity(); String orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.LIN_YONG, "yyyyMMdd")); purReceiveEntity.setBillNo(orderNo); purReceiveEntity.setCreateUser(authAdmin.getId() + ""); purReceiveEntity.setCreateTime(new Date()); purReceiveEntity.setStatus(1); purReceiveEntity.setId(IdUtil.getSnowflakeNextId()); receiveService.insertOrder(purReceiveEntity); for (AddReceiveDetailRequest.DetaiData detaiData : addReceiveDetailRequest.getDatas()) { PurReceiveDetailEntity purReceiveDetailEntity = new PurReceiveDetailEntity(); purReceiveDetailEntity.setOrderIdFk(purReceiveEntity.getBillNo()); purReceiveDetailEntity.setId(null); purReceiveDetailEntity.setNameCode(detaiData.getNameCode()); purReceiveDetailEntity.setExpireDate(detaiData.getExpireDate()); purReceiveDetailEntity.setProductDate(detaiData.getProductDate()); purReceiveDetailEntity.setRelIdFk(detaiData.getRelIdFk()); purReceiveDetailEntity.setBatchNo(detaiData.getBatchNo()); purReceiveDetailEntity.setPrice(detaiData.getPrice()); purReceiveDetailEntity.setSupId(detaiData.getSupId()); purReceiveDetailEntity.setCount(detaiData.getCount()); receivedetailService.insert(purReceiveDetailEntity); } purReceiveEntity.setUpdateTime(new Date()); receiveService.updateOrder(purReceiveEntity); addReceiveDetailRequest.setPurReceiveEntity(purReceiveEntity); return ResultVOUtils.success(purReceiveEntity); } @Resource WarehouseUserService warehouseUserService; @Resource InvPreProductService invPreProductService; @Resource InvPreinProductService invPreinProductService; @Resource InvProductService invProductService; @AuthRuleAnnotation("") @PostMapping("/udiwms/receive/detail/Update") public BaseResponse updateReceiveDetail(@RequestBody UpdateReceiveDetailRequest updateReceiveDetailRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } //判断库存 List list = new ArrayList<>(); List listinvprein = new ArrayList<>(); List listInv = new ArrayList<>(); //查询仓库类型 InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterGroupInvSubAndcode(updateReceiveDetailRequest.getTargetInvCode()); if (invWarehouseEntity.getAdvanceType() == 3) { //寄售 FilterInvPreProductRequest request = new FilterInvPreProductRequest(); // BeanUtils.copyProperties(updateReceiveDetailRequest,request); request.setDiCode(updateReceiveDetailRequest.getNameCode()); request.setInvCode(updateReceiveDetailRequest.getTargetInvCode()); list = selectFilterInvPreProductRequest(request); } else if (invWarehouseEntity.getAdvanceType() == 2) { //预验收 FilterInvPreinProductRequest request = new FilterInvPreinProductRequest(); // BeanUtils.copyProperties(updateReceiveDetailRequest,request); request.setDiCode(updateReceiveDetailRequest.getNameCode()); request.setInvCode(updateReceiveDetailRequest.getTargetInvCode()); listinvprein = selectfilterListStock(request); } else { FilterInvProductRequest request = new FilterInvProductRequest(); // BeanUtils.copyProperties(updateReceiveDetailRequest,request); request.setDiCode(updateReceiveDetailRequest.getNameCode()); request.setInvCode(updateReceiveDetailRequest.getTargetInvCode()); listInv = selectFilterInvProductRequest(request); } if (list != null && list.size() > 0) { if (list.get(0).getReCount() < IntUtil.value(updateReceiveDetailRequest.getCount())) { return ResultVOUtils.error(999, "库存不足!"); } } if (listinvprein != null && listinvprein.size() > 0) { if (listinvprein.get(0).getReCount() < updateReceiveDetailRequest.getCount()) { return ResultVOUtils.error(999, "库存不足!"); } } if (listInv != null && listInv.size() > 0 && updateReceiveDetailRequest.getCount() != null) { if (listInv.get(0).getReCount() < updateReceiveDetailRequest.getCount()) { return ResultVOUtils.error(999, "库存不足!"); } } boolean falg = receivedetailService.updateReceiveDetail(updateReceiveDetailRequest); if (falg) { return ResultVOUtils.success("成功"); } else { return ResultVOUtils.error(555, "更新失败!"); } } public List selectFilterInvPreProductRequest(FilterInvPreProductRequest filterInvPreProductRequest) { if (StrUtil.isNotBlank(filterInvPreProductRequest.getUdiCode())) { filterInvPreProductRequest.setNameCode(FilterUdiUtils.getDiStr(filterInvPreProductRequest.getUdiCode())); } if (StrUtil.isBlank(filterInvPreProductRequest.getInvCode())) { List invCodes = warehouseUserService.selectCodeByUser(customerService.getUserIdStr()); if (CollUtil.isNotEmpty(invCodes)) { filterInvPreProductRequest.setInvCodes(invCodes); } } List list = invPreProductService.filterListStock(filterInvPreProductRequest); return list; } public List selectfilterListStock(FilterInvPreinProductRequest filterInvPreinProductRequest) { boolean showSup = false; //前端控制表格显示字段 if (StrUtil.isNotBlank(filterInvPreinProductRequest.getUdiCode())) { filterInvPreinProductRequest.setNameCode(FilterUdiUtils.getDiStr(filterInvPreinProductRequest.getUdiCode())); } if (StrUtil.isBlank(filterInvPreinProductRequest.getInvCode())) { List invCodes = warehouseUserService.selectCodeByUser(customerService.getUserIdStr()); if (CollUtil.isNotEmpty(invCodes)) { filterInvPreinProductRequest.setInvCodes(invCodes); } } List list = invPreinProductService.filterListStock(filterInvPreinProductRequest); return list; } public List selectFilterInvProductRequest(FilterInvProductRequest filterInvProductRequest) { boolean showSup = false; //前端控制表格显示列字段 if (StrUtil.isNotBlank(filterInvProductRequest.getUdiCode())) { filterInvProductRequest.setNameCode(FilterUdiUtils.getDiStr(filterInvProductRequest.getUdiCode())); } if (StrUtil.isBlank(filterInvProductRequest.getInvCode())) { List invCodes = warehouseUserService.selectCodeByUser(customerService.getUserIdStr()); if (CollUtil.isNotEmpty(invCodes)) { filterInvProductRequest.setInvCodes(invCodes); } } List list = invProductService.filterListStock(filterInvProductRequest); return list; } @AuthRuleAnnotation("") @GetMapping("/udiwms/receive/order/del") public BaseResponse del(String orderIdFk) { boolean falg = receiveService.delReceive(orderIdFk); if (falg) { return ResultVOUtils.success(); } else { return ResultVOUtils.error(555, "删除失败!"); } } @AuthRuleAnnotation("") @GetMapping("/udiwms/receive/detail/delReceiveDetail") public BaseResponse delReceiveDetail(Integer id) { boolean falg = receivedetailService.delDetail(id + ""); if (falg) { return ResultVOUtils.success(); } else { return ResultVOUtils.error(555, "删除失败!"); } } @AuthRuleAnnotation("") @PostMapping("/udiwms/receive/order/audit") public BaseResponse audit(@RequestBody PurReceiveEntity purReceiveEntity, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } Long userId = customerService.getUserId(); purReceiveEntity.setStatus(purReceiveEntity.getStatus()); purReceiveEntity.setUpdateUser(userId + ""); purReceiveEntity.setAuditRemark(purReceiveEntity.getAuditRemark()); purReceiveEntity.setAuditTime(new Date()); purReceiveEntity.setAuditUser(userId + ""); purReceiveEntity.setUpdateTime(new Date()); receiveService.updateOrder(purReceiveEntity); if (purReceiveEntity.getStatus() == 3) { //进行单据流转 purChangeService.purReceiveChange(purReceiveEntity); } return ResultVOUtils.success("成功"); } /** * 添加申购单到采购单里面 */ @PostMapping("/receive/order/addOrderDetailAndApply") public BaseResponse addOrderDetailAndApply(@RequestBody purReceiveRequest purReceiveRequest) { if (purReceiveRequest.getOrderId() == null || purReceiveRequest.getId() == null) { return ResultVOUtils.error(999, "参数错误!"); } //查询领用单详情 List purPlanDetailEntityList = receivedetailService.selectByOrderId(purReceiveRequest.getOrderId()); //使用stream拷贝list List purOrderDetailEntityList = purPlanDetailEntityList.stream() .map(e -> { PurApplyDetailEntity d = new PurApplyDetailEntity(); d.setProductId(e.getRelIdFk()); UdiProductEntity udiProductEntity = udiProductService.findByNameCode(e.getNameCode()); d.setProductName(udiProductEntity.getCpmctymc()); d.setCount(e.getCount()); d.setSupId(e.getSupId()); d.setZczbhhzbapzbh(udiProductEntity.getZczbhhzbapzbh()); return d; }) .collect(Collectors.toList()); for (PurApplyDetailEntity obj : purOrderDetailEntityList) { obj.setOrderIdFk(purReceiveRequest.getId() + ""); } //获取详情表信息 List purOrderDetailEntities = purApplyDetailService.findByOrderId(purReceiveRequest.getId()); List ids = new ArrayList<>(); for (PurApplyDetailEntity obj : purOrderDetailEntities) { for (PurApplyDetailEntity obj1 : purOrderDetailEntityList) { if (obj.getProductId().equals(obj1.getProductId())) { //获取存在在详情表和申购单里面一样的产品 ids.add(obj.getId().longValue()); break; } } } //删除存在的产品 if (ids.size() > 0) { purApplyDetailService.deleteByIds(ids); } boolean falg = purApplyDetailService.insertPurApplyDetailEntity(purOrderDetailEntityList); if (falg) { //查询申购单 return ResultVOUtils.success(purReceiveRequest.getId()); } else { return ResultVOUtils.success("添加失败"); } } @AuthRuleAnnotation("") @PostMapping("/udiwms/receive/detail/addWarlockBag") public BaseResponse updateReceiveByWarlockBag(@RequestBody AddReceiveDetailRequest addReceiveDetailRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } String bagId = addReceiveDetailRequest.getBagId(); if (StringUtils.isEmpty(bagId)) return ResultVOUtils.error(500, "未选择术式套包信息"); AuthAdmin authAdmin = getUser(); String orderNo = addReceiveDetailRequest.getPurReceiveEntity().getBillNo(); if (addReceiveDetailRequest.getPurReceiveEntity() == null){ return ResultVOUtils.error(500, "未指定订单"); }else { FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); filterUdiRelRequest.setDestinyId(bagId); filterUdiRelRequest.setDiType(1); List list = basicDestinyRelMapper.filterDestinyProducts(filterUdiRelRequest); if (CollUtil.isEmpty(list)) throw new JsonException("术式套包数据为空!"); List datas = new ArrayList<>(); list.forEach( x -> { AddReceiveDetailRequest.DetaiData detaiData = new AddReceiveDetailRequest.DetaiData(); detaiData.setRelId(x.getRelIdFk()); detaiData.setSupId(x.getSupId()); detaiData.setNameCode(x.getNameCode()); detaiData.setPrice(x.getPrice()); detaiData.setCount(x.getCount()); datas.add(detaiData); }); addReceiveDetailRequest.setDatas(datas); } if (CollUtil.isEmpty(addReceiveDetailRequest.getDatas())) { return ResultVOUtils.error(500, "未选择产品信息"); } PurReceiveEntity purReceiveEntity = addReceiveDetailRequest.getPurReceiveEntity(); if (StrUtil.isEmpty(purReceiveEntity.getBillNo())) { InvWarehouseEntity curWarehouseEntity = invWarehouseService.findByInvSubByCode(purReceiveEntity.getInvCode()); InvWarehouseEntity targetWarehouseEntity = invWarehouseService.findByInvSubByCode(purReceiveEntity.getTargetInvCode()); orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.LIN_YONG, "yyyyMMdd")); purReceiveEntity.setBillNo(orderNo); purReceiveEntity.setCreateUser(authAdmin.getId() + ""); purReceiveEntity.setCreateTime(new Date()); purReceiveEntity.setStatus(1); purReceiveEntity.setDeptCode(curWarehouseEntity.getParentId()); purReceiveEntity.setTargetDeptCode(targetWarehouseEntity.getParentId()); receiveService.insertOrder(purReceiveEntity); } for (AddReceiveDetailRequest.DetaiData detaiData : addReceiveDetailRequest.getDatas()) { PurReceiveDetailEntity purReceiveDetailEntity = new PurReceiveDetailEntity(); purReceiveDetailEntity.setOrderIdFk(purReceiveEntity.getBillNo()); purReceiveDetailEntity.setNameCode(detaiData.getNameCode()); purReceiveDetailEntity.setExpireDate(detaiData.getExpireDate()); purReceiveDetailEntity.setProductDate(detaiData.getProductDate()); purReceiveDetailEntity.setRelIdFk(detaiData.getRelId()); purReceiveDetailEntity.setBatchNo(detaiData.getBatchNo()); purReceiveDetailEntity.setPrice(detaiData.getPrice()); purReceiveDetailEntity.setSupId(detaiData.getSupId()); purReceiveDetailEntity.setDestinyId(bagId); receivedetailService.insert(purReceiveDetailEntity); } purReceiveEntity.setUpdateTime(new Date()); receiveService.updateOrder(purReceiveEntity); return ResultVOUtils.success(orderNo); } }