单据流转设置改动,采购管理优化,bug处理

feature-order-fix
anthonyywj2 2 years ago
parent 3b8e7b1972
commit 78eede1aef

@ -1,16 +1,22 @@
package com.glxp.api.admin.controller.basic; package com.glxp.api.admin.controller.basic;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.constant.ConstantType;
import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity;
import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.api.admin.entity.basic.BussinessTypeEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.api.admin.req.basic.BusTypeChangeFilterRequest;
import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest; import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.service.basic.BussinessChangeTypeService; import com.glxp.api.admin.service.basic.BussinessChangeTypeService;
import com.glxp.api.admin.service.basic.BussinessLocalTypeService; import com.glxp.api.admin.service.basic.BussinessLocalTypeService;
import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.BussinessTypeService;
import com.glxp.api.admin.service.inventory.InvSubWarehouseService;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
@ -34,6 +40,8 @@ public class BussinessChangeTypeController {
private BussinessTypeService bussinessTypeService; private BussinessTypeService bussinessTypeService;
@Resource @Resource
private BussinessLocalTypeService bussinessLocalTypeService; private BussinessLocalTypeService bussinessLocalTypeService;
@Resource
private InvSubWarehouseService invSubWarehouseService;
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("/spms/bussinessChangeType/filter") @GetMapping("/spms/bussinessChangeType/filter")
@ -49,6 +57,7 @@ public class BussinessChangeTypeController {
} }
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessLocalTypeEntity.getAction()); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessLocalTypeEntity.getAction());
bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction()); bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction());
if (bussinessTypeEntities == null || bussinessTypeEntities.size() == 0) { if (bussinessTypeEntities == null || bussinessTypeEntities.size() == 0) {
//创建对应流转单据 //创建对应流转单据
if (bussinessTypeFilterRequest.getType() != null if (bussinessTypeFilterRequest.getType() != null
@ -56,13 +65,30 @@ public class BussinessChangeTypeController {
) { ) {
if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) { if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) {
BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity(); BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity();
// bussinessChangeTypeEntity1.setIntro("出库自动补\"供应商入库单\"");
bussinessChangeTypeEntity1.setChangeType(ConstantStatus.ORDER_CHANGE_NORMAL_IN); bussinessChangeTypeEntity1.setChangeType(ConstantStatus.ORDER_CHANGE_NORMAL_IN);
bussinessChangeTypeEntity1.setIndex(1); bussinessChangeTypeEntity1.setIndex(1);
bussinessChangeTypeEntity1.setAction(bussinessTypeFilterRequest.getAction()); bussinessChangeTypeEntity1.setAction(bussinessTypeFilterRequest.getAction());
bussinessChangeTypeEntity1.setBeforeTime(1); bussinessChangeTypeEntity1.setBeforeTime(1);
bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity1); bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity1);
// BussinessChangeTypeEntity bussinessChangeTypeEntity2 = new BussinessChangeTypeEntity();
// bussinessChangeTypeEntity2.setIntro("出库自动补\"调拨入库单\"");
// bussinessChangeTypeEntity2.setChangeType(ConstantStatus.ORDER_CHANGE_INNOR_NORMAL_IN);
// bussinessChangeTypeEntity2.setIndex(1);
// bussinessChangeTypeEntity1.setBeforeTime(1);
// bussinessChangeTypeEntity2.setAction(bussinessTypeFilterRequest.getAction());
// bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity2);
// BussinessChangeTypeEntity bussinessChangeTypeEntity3 = new BussinessChangeTypeEntity();
// bussinessChangeTypeEntity3.setIntro("出库自动补\"寄售转入单\"");
// bussinessChangeTypeEntity3.setChangeType(ConstantStatus.ORDER_CHANGE_NORMAL_ADV_IN);
// bussinessChangeTypeEntity3.setIndex(2);
// bussinessChangeTypeEntity1.setBeforeTime(1);
// bussinessChangeTypeEntity3.setAction(bussinessTypeFilterRequest.getAction());
// bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity3);
// bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction());
} else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) { } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) {
BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity(); BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity();
// bussinessChangeTypeEntity1.setIntro("出库自动补\"寄售入库单\"");
bussinessChangeTypeEntity1.setChangeType(ConstantStatus.ORDER_CHANGE_ADVANCE_IN); bussinessChangeTypeEntity1.setChangeType(ConstantStatus.ORDER_CHANGE_ADVANCE_IN);
bussinessChangeTypeEntity1.setIndex(1); bussinessChangeTypeEntity1.setIndex(1);
bussinessChangeTypeEntity1.setBeforeTime(1); bussinessChangeTypeEntity1.setBeforeTime(1);
@ -75,6 +101,24 @@ public class BussinessChangeTypeController {
return ResultVOUtils.success(bussinessTypeEntities); return ResultVOUtils.success(bussinessTypeEntities);
} }
@AuthRuleAnnotation("")
@GetMapping("/spms/busTypeChange/filter")
public BaseResponse filterBusTypeChange(BusTypeChangeFilterRequest busTypeChangeFilterRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<BussinessChangeTypeEntity> bussinessTypeEntities = bussinessChangeTypeService.filterAll(busTypeChangeFilterRequest);
PageInfo<BussinessChangeTypeEntity> pageInfo;
pageInfo = new PageInfo<>(bussinessTypeEntities);
PageSimpleResponse<BussinessChangeTypeEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(bussinessTypeEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/spms/bussinessChangeType/remove") @PostMapping("/spms/bussinessChangeType/remove")
public BaseResponse removeBussinessType(@RequestBody BussinessChangeTypeEntity deleteRequest, BindingResult bindingResult) { public BaseResponse removeBussinessType(@RequestBody BussinessChangeTypeEntity deleteRequest, BindingResult bindingResult) {
@ -83,6 +127,9 @@ public class BussinessChangeTypeController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
String action = deleteRequest.getScAction(); String action = deleteRequest.getScAction();
if (StrUtil.isEmpty(action)) {
bussinessChangeTypeService.deleteById(deleteRequest.getId() + "");
} else
bussinessChangeTypeService.deleteByAction(action); bussinessChangeTypeService.deleteByAction(action);
return ResultVOUtils.success("删除成功"); return ResultVOUtils.success("删除成功");
} }
@ -113,8 +160,6 @@ public class BussinessChangeTypeController {
BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findByAction(bussinessTypeEntity.getAction()); BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findByAction(bussinessTypeEntity.getAction());
bussinessLocalTypeEntity.setUpdateTime(new Date()); bussinessLocalTypeEntity.setUpdateTime(new Date());
bussinessLocalTypeService.updateBusLocalType(bussinessLocalTypeEntity); bussinessLocalTypeService.updateBusLocalType(bussinessLocalTypeEntity);
} else { } else {
ResultVOUtils.error(999, "参数错误"); ResultVOUtils.error(999, "参数错误");
} }
@ -130,6 +175,14 @@ public class BussinessChangeTypeController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
if (bussinessTypeEntity != null) { if (bussinessTypeEntity != null) {
if (StrUtil.isNotEmpty(bussinessTypeEntity.getDefaultSubInv())) {
InvSubWarehouseEntity invSubWarehouseEntity = invSubWarehouseService.findByInvSubByCode(bussinessTypeEntity.getDefaultSubInv());
bussinessTypeEntity.setDefaultInv(invSubWarehouseEntity.getParentId());
}
if (StrUtil.isNotEmpty(bussinessTypeEntity.getLocSubInv())) {
InvSubWarehouseEntity invSubWarehouseEntity = invSubWarehouseService.findByInvSubByCode(bussinessTypeEntity.getLocSubInv());
bussinessTypeEntity.setLocInv(invSubWarehouseEntity.getParentId());
}
bussinessChangeTypeService.insertBusChangeTypee(bussinessTypeEntity); bussinessChangeTypeService.insertBusChangeTypee(bussinessTypeEntity);
} else { } else {
ResultVOUtils.error(999, "参数错误"); ResultVOUtils.error(999, "参数错误");

@ -327,6 +327,9 @@ public class UdiRelevanceController {
udiInfoEntity.setBasicPrductRemak6(udiRelevanceResponse.getBasicPrductRemak6()); udiInfoEntity.setBasicPrductRemak6(udiRelevanceResponse.getBasicPrductRemak6());
udiInfoEntity.setBasicPrductRemak7(udiRelevanceResponse.getBasicPrductRemak7()); udiInfoEntity.setBasicPrductRemak7(udiRelevanceResponse.getBasicPrductRemak7());
udiInfoEntity.setBasicPrductRemak8(udiRelevanceResponse.getBasicPrductRemak8()); udiInfoEntity.setBasicPrductRemak8(udiRelevanceResponse.getBasicPrductRemak8());
if (StrUtil.isNotEmpty(udiRelevanceResponse.getOriginUuid())) {
udiInfoEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI);
}
udiInfoEntity.setUuid(udiRelevanceResponse.getUuid()); udiInfoEntity.setUuid(udiRelevanceResponse.getUuid());
udiInfoService.updateUdiInfo(udiInfoEntity); udiInfoService.updateUdiInfo(udiInfoEntity);
return ResultVOUtils.success("更新成功"); return ResultVOUtils.success("更新成功");

@ -327,6 +327,7 @@ public class StockOrderDetailController {
stockOrderDetailEntity.setManufactory(udiInfoEntity.getManufactory()); stockOrderDetailEntity.setManufactory(udiInfoEntity.getManufactory());
stockOrderDetailEntity.setMeasname(udiInfoEntity.getMeasname()); stockOrderDetailEntity.setMeasname(udiInfoEntity.getMeasname());
stockOrderDetailEntity.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc()); stockOrderDetailEntity.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc());
stockOrderDetailEntity.setSupName(udiInfoEntity.getCompanyName());
if (StrUtil.isNotEmpty(stockOrderIdsRequest.getZczbhhzbapzbh())) if (StrUtil.isNotEmpty(stockOrderIdsRequest.getZczbhhzbapzbh()))
stockOrderDetailEntity.setZczbhhzbapzbh(stockOrderIdsRequest.getZczbhhzbapzbh()); stockOrderDetailEntity.setZczbhhzbapzbh(stockOrderIdsRequest.getZczbhhzbapzbh());
else else
@ -424,7 +425,6 @@ public class StockOrderDetailController {
stockOrderDetailEntity.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc()); stockOrderDetailEntity.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc());
stockOrderDetailEntity.setManufactory(udiInfoEntity.getManufactory()); stockOrderDetailEntity.setManufactory(udiInfoEntity.getManufactory());
stockOrderDetailEntity.setZczbhhzbapzbh(udiInfoEntity.getZczbhhzbapzbh()); stockOrderDetailEntity.setZczbhhzbapzbh(udiInfoEntity.getZczbhhzbapzbh());
stockOrderDetailService.insertStockOrderDetail(stockOrderDetailEntity); stockOrderDetailService.insertStockOrderDetail(stockOrderDetailEntity);
return ResultVOUtils.success(); return ResultVOUtils.success();

@ -96,7 +96,7 @@ public class InvSubWarehouseController {
if(invSubWarehouseEntity!=null){ if(invSubWarehouseEntity!=null){
InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCodeAll(invSubWarehouseEntity.getParentId()); InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCodeAll(invSubWarehouseEntity.getParentId());
filterInvWarehouseRequest.setSuperiorCode(invWarehouseEntity.getCode()); filterInvWarehouseRequest.setSuperiorCode(invWarehouseEntity.getCode());
filterInvWarehouseRequest.setSubordinateCode(invWarehouseEntity.getPcode()); filterInvWarehouseRequest.setSuperiorPcode(invWarehouseEntity.getPcode());
filterInvWarehouseRequest.setCode(null); filterInvWarehouseRequest.setCode(null);
}else { }else {
return ResultVOUtils.error(999,"分库编号为空!"); return ResultVOUtils.error(999,"分库编号为空!");

@ -150,7 +150,7 @@ public class PurApplyController {
*/ */
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/purchase/apply/auditOrder") @PostMapping("/purchase/apply/auditOrder")
public BaseResponse auditOrder(@RequestBody PurApplyRequest purApplyRequest) { public BaseResponse auditOrder(@RequestBody PurApplyResponse purApplyRequest) {
Integer userId = customerService.getUserId(); Integer userId = customerService.getUserId();
@ -162,19 +162,27 @@ public class PurApplyController {
purApplyService.update(purApplyEntity); purApplyService.update(purApplyEntity);
//审核通过后转换成采购计划单 //审核通过后转换成采购计划单
if (purApplyEntity.getStatus() == ConstantStatus.APPLY_AUDIT_ED && StrUtil.isNotEmpty(purApplyEntity.getTargetBillType())) { if (purApplyEntity.getStatus() == ConstantStatus.APPLY_AUDIT_ED && purApplyRequest.isAudtoPlan()) {
PurPlanEntity purPlanEntity = new PurPlanEntity(); PurPlanEntity purPlanEntity = new PurPlanEntity();
String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.JH_ORDER, "yyyyMMdd")); String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.JH_ORDER, "yyyyMMdd"));
purPlanEntity.setBillNo(billNo); purPlanEntity.setBillNo(billNo);
purPlanEntity.setBillDate(new Date()); purPlanEntity.setBillDate(new Date());
purPlanEntity.setStatus(ConstantStatus.APPLY_UN_AUDIT); purPlanEntity.setStatus(ConstantStatus.APPLY_DRAFT);
purPlanEntity.setLocStorageCode(purApplyEntity.getTargetInv()); // purPlanEntity.setLocStorageCode(purApplyEntity.getTargetInv());
purPlanEntity.setInvWarehouseCode(purApplyEntity.getTargetSubInv()); // purPlanEntity.setInvWarehouseCode(purApplyEntity.getTargetSubInv());
purPlanEntity.setBillType(purApplyEntity.getTargetBillType()); purPlanEntity.setBillType("purPlan");
purPlanEntity.setDeptCode(purApplyEntity.getDeptCode()); // purPlanEntity.setBillType(purApplyEntity.getTargetBillType());
purPlanEntity.setCreateBy(purApplyEntity.getAuditBy()); // purPlanEntity.setDeptCode(purApplyEntity.getDeptCode());
// purPlanEntity.setCreateBy(purApplyEntity.getAuditBy());
purPlanEntity.setCreateTime(new Date()); purPlanEntity.setCreateTime(new Date());
purPlanEntity.setUpdateTime(new Date()); purPlanEntity.setUpdateTime(new Date());
purPlanEntity.setApplyBillNo(purApplyEntity.getBillNo());
purPlanEntity.setApplyCreateBy(purApplyEntity.getCreateBy());
purPlanEntity.setApplyRemark(purApplyEntity.getRemark());
purPlanEntity.setApplyAuditBy(purApplyEntity.getAuditBy());
purPlanEntity.setRemark("申购科室:" + purApplyRequest.getSubInvName() +
";申购人:" + purApplyRequest.getCreateByName() + ";申购原因:" + purApplyRequest.getRemark());
purPlanService.insert(purPlanEntity); purPlanService.insert(purPlanEntity);
List<PurApplyDetailEntity> purApplyDetailEntities = purApplyDetailService.findByOrderId(purApplyEntity.getId() + ""); List<PurApplyDetailEntity> purApplyDetailEntities = purApplyDetailService.findByOrderId(purApplyEntity.getId() + "");

@ -173,9 +173,10 @@ public class PurPlanController {
List<PurPlanDetailEntity> purPlanDetailEntities = purPlanDetailService.findByOrderId(purApplyEntity.getId() + ""); List<PurPlanDetailEntity> purPlanDetailEntities = purPlanDetailService.findByOrderId(purApplyEntity.getId() + "");
BasicBusTypeChangeEntity basicBusTypeChangeEntity = basicBusTypeChangeService.findByAction(purApplyEntity.getBillType()); // BasicBusTypeChangeEntity basicBusTypeChangeEntity = basicBusTypeChangeService.findByAction(purApplyEntity.getBillType());
//转换成业务单据 //转换成业务单据
if (postPurPlanRequest.getEditStatus() == ConstantStatus.APPLY_AUDIT_ED && basicBusTypeChangeEntity != null && basicBusTypeChangeEntity.getTargetBusAction() != null) { if (postPurPlanRequest.getEditStatus() == ConstantStatus.APPLY_AUDIT_ED
&& StrUtil.isNotEmpty(purApplyEntity.getTargetSubInv()) && StrUtil.isNotEmpty(purApplyEntity.getTargetBillAction())) {
if (CollUtil.isNotEmpty(purPlanDetailEntities)) { if (CollUtil.isNotEmpty(purPlanDetailEntities)) {
//1.根据供应商分组 //1.根据供应商分组
@ -191,12 +192,13 @@ public class PurPlanController {
} }
} }
} }
//2.生成业务单据 //2.生成业务单据
String stockOrderNo = ";";
for (String supId : filterSupMaps.keySet()) { for (String supId : filterSupMaps.keySet()) {
//2.构建业务单据 //2.构建业务单据
StockOrderEntity stockOrderEntity = new StockOrderEntity(); StockOrderEntity stockOrderEntity = new StockOrderEntity();
String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.BUS_ORDER, "yyyyMMdd")); String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.BUS_ORDER, "yyyyMMdd"));
stockOrderNo = stockOrderNo + billNo;
stockOrderEntity.setBillNo(billNo); stockOrderEntity.setBillNo(billNo);
stockOrderEntity.setSourceType(ConstantStatus.ST_APPLY_ADD); stockOrderEntity.setSourceType(ConstantStatus.ST_APPLY_ADD);
stockOrderEntity.setCorpId(supId); stockOrderEntity.setCorpId(supId);
@ -205,10 +207,11 @@ public class PurPlanController {
stockOrderEntity.setCorpName(basicUnitMaintainEntity.getName()); stockOrderEntity.setCorpName(basicUnitMaintainEntity.getName());
stockOrderEntity.setBilldate(DateUtil.formatDateTime(new Date())); stockOrderEntity.setBilldate(DateUtil.formatDateTime(new Date()));
stockOrderEntity.setStatus(ConstantStatus.SORDER_ALLOC); stockOrderEntity.setStatus(ConstantStatus.SORDER_ALLOC);
stockOrderEntity.setBillType(basicBusTypeChangeEntity.getTargetBusAction()); stockOrderEntity.setBillType(purApplyEntity.getTargetBillAction());
stockOrderEntity.setInvWarehouseCode(purApplyEntity.getInvWarehouseCode()); stockOrderEntity.setInvWarehouseCode(purApplyEntity.getTargetSubInv());
stockOrderEntity.setLocStorageCode(purApplyEntity.getLocStorageCode()); stockOrderEntity.setLocStorageCode(purApplyEntity.getTargetInv());
stockOrderEntity.setDept(purApplyEntity.getDeptCode()); stockOrderEntity.setCreateUser(userId);
// stockOrderEntity.setDept(purApplyEntity.getDeptCode());
stockOrderService.insertStockOrder(stockOrderEntity); stockOrderService.insertStockOrder(stockOrderEntity);
//3.构建单据详情 //3.构建单据详情
List<PurPlanDetailEntity> temps = filterSupMaps.get(supId); List<PurPlanDetailEntity> temps = filterSupMaps.get(supId);
@ -235,11 +238,11 @@ public class PurPlanController {
} }
} }
} }
}
purApplyEntity.setStockOrderNo(stockOrderNo.substring(1));
purPlanService.update(purApplyEntity);
}
} }
return ResultVOUtils.success("更新成功!"); return ResultVOUtils.success("更新成功!");
} }

@ -1,6 +1,7 @@
package com.glxp.api.admin.dao.basic; package com.glxp.api.admin.dao.basic;
import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity;
import com.glxp.api.admin.req.basic.BusTypeChangeFilterRequest;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -12,6 +13,7 @@ public interface BussinessChangeTypeDao {
List<BussinessChangeTypeEntity> findByAction(String action); List<BussinessChangeTypeEntity> findByAction(String action);
List<BussinessChangeTypeEntity> filterAll(BusTypeChangeFilterRequest busTypeChangeFilterRequest);
boolean updateBusChangeType(BussinessChangeTypeEntity bussinessTypeEntity); boolean updateBusChangeType(BussinessChangeTypeEntity bussinessTypeEntity);

@ -20,6 +20,20 @@ public class BussinessChangeTypeEntity {
private String defautInvName; private String defautInvName;
private String defautSubInvName; private String defautSubInvName;
private String locInv;
private String locSubInv;
private String originAction;
private boolean changeEnable;
private boolean supplementAll;
private String originName;
private String targetName;
private String locSubInvName;
public Integer getBeforeTime() { public Integer getBeforeTime() {
if (beforeTime == null) if (beforeTime == null)
return 0; return 0;

@ -46,5 +46,5 @@ public class StockOrderDetailEntity {
private String measname; private String measname;
private String supId; private String supId;
private String supName;
} }

@ -31,5 +31,6 @@ public class PurApplyDetailEntity {
* ID * ID
*/ */
private String supId; private String supId;
private String zczbhhzbapzbh;
} }

@ -76,4 +76,7 @@ public class PurApplyEntity {
private String targetSubInv; private String targetSubInv;
private String targetBillType; private String targetBillType;
private String planBillNo; //生成采购计划单据号
} }

@ -32,4 +32,6 @@ public class PurPlanDetailEntity {
*/ */
private String supId; private String supId;
private String zczbhhzbapzbh;
} }

@ -75,4 +75,15 @@ public class PurPlanEntity {
private String auditRemark; private String auditRemark;
private String stockOrderNo; //生成业务单据号
private String applyCreateBy; //申购人
private String applyAuditBy; //申购审核人
private String applyRemark; //申购说明
private String applyBillNo; //申购单据号,多单以逗号隔开
private String targetBillAction;
private String targetSubInv;
private String targetInv;
} }

@ -0,0 +1,11 @@
package com.glxp.api.admin.req.basic;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class BusTypeChangeFilterRequest extends ListPageRequest {
private String action;
private String originAction;
}

@ -18,4 +18,5 @@ public class StockOrderIdsRequest {
private String zczbhhzbapzbh; private String zczbhhzbapzbh;
private int type; //1耗材领用 private int type; //1耗材领用
private int purType;
} }

@ -29,4 +29,5 @@ public class FilterInvWarehouseRequest extends ListPageRequest {
private String warehouseCode; private String warehouseCode;
private String superiorCode;//上级 private String superiorCode;//上级
private String subordinateCode;//下级 private String subordinateCode;//下级
private String superiorPcode;//上级
} }

@ -103,4 +103,6 @@ public class PurApplyRequest extends ListPageRequest {
private String startDate; private String startDate;
private String endDate; private String endDate;
private boolean audtoPlan;
} }

@ -68,4 +68,8 @@ public class PurApplyResponse {
private String invName; private String invName;
private String subInvName; private String subInvName;
private String auditRemark; private String auditRemark;
private String planBillNo; //生成采购计划单据号
private boolean audtoPlan;
} }

@ -66,4 +66,11 @@ public class PurPlanResponse {
private String invName; private String invName;
private String subInvName; private String subInvName;
private String auditRemark; private String auditRemark;
private String applyCreateBy; //申购人
private String applyAuditBy; //申购审核人
private String applyRemark; //申购说明
private String applyBillNo; //申购单据号,多单以逗号隔开
private String stockOrderNo;
} }

@ -2,6 +2,7 @@ package com.glxp.api.admin.service.basic;
import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity;
import com.glxp.api.admin.req.basic.BusTypeChangeFilterRequest;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -10,6 +11,10 @@ public interface BussinessChangeTypeService {
List<BussinessChangeTypeEntity> findByAction(String action); List<BussinessChangeTypeEntity> findByAction(String action);
BussinessChangeTypeEntity findOriginAction(String action);
List<BussinessChangeTypeEntity> filterAll(BusTypeChangeFilterRequest busTypeChangeFilterRequest);
BussinessChangeTypeEntity findByName(String name); BussinessChangeTypeEntity findByName(String name);
public BussinessChangeTypeEntity findFirstByAction(String action); public BussinessChangeTypeEntity findFirstByAction(String action);

@ -1,7 +1,11 @@
package com.glxp.api.admin.service.basic.impl; package com.glxp.api.admin.service.basic.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.basic.BussinessChangeTypeDao; import com.glxp.api.admin.dao.basic.BussinessChangeTypeDao;
import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity;
import com.glxp.api.admin.req.basic.BusTypeChangeFilterRequest;
import com.glxp.api.admin.service.basic.BussinessChangeTypeService; import com.glxp.api.admin.service.basic.BussinessChangeTypeService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -20,6 +24,30 @@ public class BussinessChangeTypeServiceaImpl implements BussinessChangeTypeServi
return data; return data;
} }
@Override
public BussinessChangeTypeEntity findOriginAction(String action) {
if (StrUtil.isEmpty(action))
return null;
BusTypeChangeFilterRequest busTypeChangeFilterRequest = new BusTypeChangeFilterRequest();
busTypeChangeFilterRequest.setOriginAction(action);
List<BussinessChangeTypeEntity> data = bussinessChangeTypeDao.filterAll(busTypeChangeFilterRequest);
if (CollUtil.isNotEmpty(data)) {
return data.get(0);
}
return null;
}
@Override
public List<BussinessChangeTypeEntity> filterAll(BusTypeChangeFilterRequest busTypeChangeFilterRequest) {
if (busTypeChangeFilterRequest.getPage() != null) {
int offset = (busTypeChangeFilterRequest.getPage() - 1) * busTypeChangeFilterRequest.getLimit();
PageHelper.offsetPage(offset, busTypeChangeFilterRequest.getLimit());
}
List<BussinessChangeTypeEntity> data = bussinessChangeTypeDao.filterAll(busTypeChangeFilterRequest);
return data;
}
@Override @Override
public BussinessChangeTypeEntity findFirstByAction(String action) { public BussinessChangeTypeEntity findFirstByAction(String action) {

@ -81,6 +81,8 @@ public class InvSubWarehouseServiceImpl implements InvSubWarehouseService {
@Override @Override
public InvSubWarehouseEntity findByInvSubByCode(String code) { public InvSubWarehouseEntity findByInvSubByCode(String code) {
if (StrUtil.isEmpty(code))
return null;
FilterInvSubWarehouseRequest filterInvSubWarehouseRequest = new FilterInvSubWarehouseRequest(); FilterInvSubWarehouseRequest filterInvSubWarehouseRequest = new FilterInvSubWarehouseRequest();
filterInvSubWarehouseRequest.setCode(code); filterInvSubWarehouseRequest.setCode(code);
List<InvSubWarehouseEntity> invSubWarehouseEntities = invSubWarehouseDao.filterInvSubWarehouse(filterInvSubWarehouseRequest); List<InvSubWarehouseEntity> invSubWarehouseEntities = invSubWarehouseDao.filterInvSubWarehouse(filterInvSubWarehouseRequest);
@ -195,6 +197,7 @@ public class InvSubWarehouseServiceImpl implements InvSubWarehouseService {
public InvSubWarehouseEntity filterGroupInvSubAndcode(String code) { public InvSubWarehouseEntity filterGroupInvSubAndcode(String code) {
return invSubWarehouseDao.filterGroupInvSubAndcode(code); return invSubWarehouseDao.filterGroupInvSubAndcode(code);
} }
@Override @Override
public List<InvSubWarehouseEntity> filterGroupInvSubDown(FilterInvWarehouseRequest filterInvSubWarehouseRequest) { public List<InvSubWarehouseEntity> filterGroupInvSubDown(FilterInvWarehouseRequest filterInvSubWarehouseRequest) {
return invSubWarehouseDao.filterGroupInvSubDown(filterInvSubWarehouseRequest); return invSubWarehouseDao.filterGroupInvSubDown(filterInvSubWarehouseRequest);

@ -10,6 +10,7 @@ import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.*; import com.glxp.api.admin.entity.inout.*;
import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity;
import com.glxp.api.admin.entity.inventory.InvProductEntity; import com.glxp.api.admin.entity.inventory.InvProductEntity;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.req.basic.FilterUdiInfoRequest; import com.glxp.api.admin.req.basic.FilterUdiInfoRequest;
import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest;
@ -21,6 +22,7 @@ import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.service.inout.*; import com.glxp.api.admin.service.inout.*;
import com.glxp.api.admin.service.inventory.*; import com.glxp.api.admin.service.inventory.*;
import com.glxp.api.admin.util.*; import com.glxp.api.admin.util.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -28,6 +30,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.*;
@Slf4j
@Service @Service
public class InvProductsTrService { public class InvProductsTrService {
@ -72,9 +75,17 @@ public class InvProductsTrService {
InvWarehouseService invWarehouseService; InvWarehouseService invWarehouseService;
@Resource @Resource
GennerOrderUtils gennerOrderUtils; GennerOrderUtils gennerOrderUtils;
@Resource
InvSubWarehouseService invSubWarehouseService;
@Async @Async
public void genInvProducts(String orderId) { public void genInvProducts(String orderId) {
//导入订单状态
IOOrderStatusEntity ioOrderStatusEntity = new IOOrderStatusEntity();
ioOrderStatusEntity.setStatus(1);
ioOrderStatusEntity.setUpdateTime(new Date());
ioOrderStatusEntity.setOrderId(orderId);
ioOrderStatusService.insertOrderStatus(ioOrderStatusEntity);
OrderEntity orderEntity = orderService.findById(orderId); OrderEntity orderEntity = orderService.findById(orderId);
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS && if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS &&
@ -198,31 +209,35 @@ public class InvProductsTrService {
} }
//单据流转 //单据流转
List<BussinessChangeTypeEntity> bussinessChangeTypeEntitys = bussinessChangeTypeService.findByAction(bussinessLocalTypeEntity.getLocalAction()); BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeService.findOriginAction(bussinessLocalTypeEntity.getLocalAction());
if ((bussinessChangeTypeEntitys != null && bussinessChangeTypeEntitys.size() > 0) && bussinessLocalTypeEntity.isChangeEnable()) { if (bussinessChangeTypeEntity != null && bussinessLocalTypeEntity.isChangeEnable()) {
if (orderEntity.isOutChangeEnable()) {//是否缺量补单
//普通出库 addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntity);
if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) {
addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntitys);
} else if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) // if (orderEntity.isOutChangeEnable()) {//是否缺量补单
//普通入库补单 // //普通出库
{ // if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) {
BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0); // addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntitys);
List<WarehouseEntity> datas = addPutOrder(orderEntity, mInvProductDetailEntities); // } else if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType())
List<WarehouseEntity> temps = filterMapCodes(datas); // //普通入库补单
buildPreOutOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 // {
} else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) { // BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0);
//寄售出库补单 // List<WarehouseEntity> datas = addPutOrder(orderEntity, mInvProductDetailEntities);
BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0); // List<WarehouseEntity> temps = filterMapCodes(datas);
List<WarehouseEntity> datas = addPreOutOrder(orderEntity, mInvProductDetailEntities); // buildPreOutOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据
List<WarehouseEntity> temps = filterMapCodes(datas); // } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) {
buildPreInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 // //寄售出库补单
} else { // BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0);
insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存 // List<WarehouseEntity> datas = addPreOutOrder(orderEntity, mInvProductDetailEntities);
} // List<WarehouseEntity> temps = filterMapCodes(datas);
} else { // buildPreInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据
insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存 // } else {
} // insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
// }
// } else {
// insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
// }
} else { } else {
insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存 insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
@ -232,14 +247,13 @@ public class InvProductsTrService {
} }
//普通出库补单-- //补采购入库,调拨入库,寄售转入 //普通出库补单-- //补采购入库,调拨入库,寄售转入
public void addUseOutOrder(OrderEntity orderEntity, List<InvProductDetailEntity> invProductDetailEntities, List<BussinessChangeTypeEntity> bussinessChangeTypeEntities) { public void addUseOutOrder(OrderEntity orderEntity, List<InvProductDetailEntity> invProductDetailEntities, BussinessChangeTypeEntity bussinessChangeTypeEntity) {
BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntity = bussinessChangeTypeEntities.get(0);
List<WarehouseEntity> warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); List<WarehouseEntity> warehouseEntities = codesService.findByReceiptId(orderEntity.getId());
List<WarehouseEntity> inList = new ArrayList<>(); List<WarehouseEntity> inList = new ArrayList<>();
List<WarehouseEntity> preiInList = new ArrayList<>(); List<WarehouseEntity> preiInList = new ArrayList<>();
//缺量补单时是否全量补单 //缺量补单时是否全量补单
BussinessTypeEntity bussinessTypeEntity1 = bussinessTypeService.findBTByAction(orderEntity.getAction()); BussinessTypeEntity bussinessTypeEntity1 = bussinessTypeService.findBTByAction(orderEntity.getAction());
if (bussinessTypeEntity1.isSupplementAll()) { if (bussinessChangeTypeEntity.isSupplementAll()) {
insetInv(bussinessTypeEntity1, invProductDetailEntities);//2.插入当前库存 insetInv(bussinessTypeEntity1, invProductDetailEntities);//2.插入当前库存
WarehouseEntity warehouseEntity = warehouseEntities.get(0); WarehouseEntity warehouseEntity = warehouseEntities.get(0);
InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode()); InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode());
@ -249,10 +263,9 @@ public class InvProductsTrService {
} }
} else { } else {
if (locWarehouseEntity.getLevel() > 1) { if (locWarehouseEntity.getLevel() > 1) {
InvWarehouseEntity pInWarehouseEntity = invWarehouseService.selectByCode(locWarehouseEntity.getPcode());
for (WarehouseEntity tempEntity : warehouseEntities) { for (WarehouseEntity tempEntity : warehouseEntities) {
tempEntity.setFromCorp(pInWarehouseEntity.getName()); tempEntity.setFromCorp(bussinessChangeTypeEntity.getDefaultInv());
tempEntity.setFromCorpId(pInWarehouseEntity.getCode()); tempEntity.setFromCorpId(bussinessChangeTypeEntity.getDefaultSubInv());
inList.add(tempEntity); inList.add(tempEntity);
} }
} else { } else {
@ -275,7 +288,7 @@ public class InvProductsTrService {
* else>1 * else>1
* {} * {}
*/ */
InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode()); InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(bussinessChangeTypeEntity.getLocInv());
if (locWarehouseEntity.getLevel() == 1 && isAdavnce(warehouseEntity)) {//补寄售转入 if (locWarehouseEntity.getLevel() == 1 && isAdavnce(warehouseEntity)) {//补寄售转入
//获取当前条码实际数量 //获取当前条码实际数量
int actCount = getActCount(warehouseEntity); int actCount = getActCount(warehouseEntity);
@ -323,24 +336,27 @@ public class InvProductsTrService {
String code = warehouseEntity.getCode(); String code = warehouseEntity.getCode();
int count = actCount * warehouseEntity.getCount(); int count = actCount * warehouseEntity.getCount();
int invCount = 0; int invCount = 0;
if (locWarehouseEntity.getLevel() > 1) {//补调拨入库 if (locWarehouseEntity.getLevel() == 1 && StrUtil.isEmpty(bussinessChangeTypeEntity.getDefaultSubInv())) {
/**
*
*/
InvWarehouseEntity pInWarehouseEntity = invWarehouseService.selectByCode(locWarehouseEntity.getPcode());
warehouseEntity.setFromCorp(pInWarehouseEntity.getName());
warehouseEntity.setFromCorpId(pInWarehouseEntity.getCode());
invCount = getCountByOrder(null, warehouseEntity);
} else { //补供应商入库
/** /**
* *
*/ */
//供应商
warehouseEntity.setFromCorpId(warehouseEntity.getSupId()); warehouseEntity.setFromCorpId(warehouseEntity.getSupId());
BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(warehouseEntity.getSupId()); BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(warehouseEntity.getSupId());
warehouseEntity.setFromCorp(basicUnitMaintainEntity.getName()); warehouseEntity.setFromCorp(basicUnitMaintainEntity.getName());
invCount = getCountByOrder(null, warehouseEntity); invCount = getCountByOrder(null, warehouseEntity);
} else if (StrUtil.isNotEmpty(bussinessChangeTypeEntity.getDefaultSubInv())) {
/**
*
*/
InvSubWarehouseEntity subWarehouseEntity = invSubWarehouseService.findByInvSubByCode(bussinessChangeTypeEntity.getDefaultSubInv());
warehouseEntity.setFromCorp(subWarehouseEntity.getName());
warehouseEntity.setFromCorpId(subWarehouseEntity.getParentId());
warehouseEntity.setFromSubInvCode(subWarehouseEntity.getCode());
invCount = getCountByOrder(null, warehouseEntity);
} else {
//无法补单,补单失败!
log.error("无法补单,补单失败!,单据流转设置未设置补单往来信息(" + orderEntity.getId() + ")");
return;
} }
if (invCount > 0) {//仓库已存在该产品 if (invCount > 0) {//仓库已存在该产品
@ -648,7 +664,9 @@ public class InvProductsTrService {
} else } else
unkonwCorpList.add(warehouseEntity); unkonwCorpList.add(warehouseEntity);
} }
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessChangeTypeEntity.getScAction());
BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessChangeTypeEntity.getAction());
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessLocalTypeEntity.getAction());
//根据往来单位生成入库单 //根据往来单位生成入库单
for (String corpName : filterSupMaps.keySet()) { for (String corpName : filterSupMaps.keySet()) {
List<WarehouseEntity> temps; List<WarehouseEntity> temps;
@ -658,8 +676,8 @@ public class InvProductsTrService {
outOrder.setSupplementNo(null);//补单需置空 outOrder.setSupplementNo(null);//补单需置空
outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime()));
outOrder.setCreateTime(outOrder.getActDate()); outOrder.setCreateTime(outOrder.getActDate());
outOrder.setAction(bussinessChangeTypeEntity.getScAction()); outOrder.setAction(bussinessTypeEntity.getAction());
outOrder.setMainAction(ConstantType.TYPE_PUT); outOrder.setMainAction(bussinessTypeEntity.getMainAction());
outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN);
outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID);
outOrder.setErpFk(null); outOrder.setErpFk(null);
@ -668,14 +686,13 @@ public class InvProductsTrService {
outOrder.setId(orderNo); outOrder.setId(orderNo);
outOrder.setFromCorpId(corpName); outOrder.setFromCorpId(corpName);
outOrder.setFromCorp(temps.get(0).getFromCorp()); outOrder.setFromCorp(temps.get(0).getFromCorp());
// BussinessTypeEntity originBT = bussinessTypeService.findBTByAction(orderEntity.getAction());
if (StrUtil.isNotEmpty(bussinessChangeTypeEntity.getDefaultSubInv())) { if (StrUtil.isNotEmpty(bussinessChangeTypeEntity.getDefaultSubInv())) {
outOrder.setFromSubInvCode(bussinessChangeTypeEntity.getDefaultSubInv()); outOrder.setFromSubInvCode(bussinessChangeTypeEntity.getDefaultSubInv());
} }
outOrder.setCorpOrderId(CustomUtil.getId() + "x"); outOrder.setCorpOrderId(CustomUtil.getId() + "x");
outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); outOrder.setLocStorageCode(bussinessChangeTypeEntity.getLocInv());
outOrder.setInvStorageCode(orderEntity.getLocStorageCode()); outOrder.setInvStorageCode(bussinessChangeTypeEntity.getLocInv());
outOrder.setInvWarehouseCode(bussinessChangeTypeEntity.getLocSubInv());
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit");
if ("1".equals(systemParamConfigEntity.getParamValue())) { if ("1".equals(systemParamConfigEntity.getParamValue())) {
outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
@ -700,8 +717,8 @@ public class InvProductsTrService {
warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); warehouseEntity.setFromCorpId(outOrder.getFromCorpId());
warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode());
warehouseEntity.setInvWarehouseCode(outOrder.getInvWarehouseCode()); warehouseEntity.setInvWarehouseCode(outOrder.getInvWarehouseCode());
warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); warehouseEntity.setAction(outOrder.getAction());
warehouseEntity.setMainAction(ConstantType.TYPE_PUT); warehouseEntity.setMainAction(outOrder.getMainAction());
} }
codesTempService.insertCodesTemp(temps); codesTempService.insertCodesTemp(temps);
} }

@ -5,7 +5,10 @@
<select id="findByAction" parameterType="Map" <select id="findByAction" parameterType="Map"
resultType="com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity"> resultType="com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity">
SELECT basic_bustype_pre.*,basic_bussiness_type.name,inv_warehouse.`name` defautInvName,inv_warehouse_sub.`name` defautSubInvName SELECT basic_bustype_pre.*,
basic_bussiness_type.name,
inv_warehouse.`name` defautInvName,
inv_warehouse_sub.`name` defautSubInvName
FROM basic_bustype_pre FROM basic_bustype_pre
LEFT JOIN basic_bussiness_type LEFT JOIN basic_bussiness_type
on basic_bustype_pre.scAction = basic_bussiness_type.action on basic_bustype_pre.scAction = basic_bussiness_type.action
@ -15,16 +18,41 @@
</select> </select>
<select id="filterAll" parameterType="com.glxp.api.admin.req.basic.BusTypeChangeFilterRequest"
resultType="com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity">
SELECT basic_bustype_pre.*,invA.name defautSubInvName,invB.name locSubInvName ,
busTypeA.name originName,busTypeB.name targetName
FROM basic_bustype_pre
left JOIN inv_warehouse_sub invA on basic_bustype_pre.defaultSubInv = invA.code
left JOIN inv_warehouse_sub invB on basic_bustype_pre.locSubInv = invB.code
left JOIN basic_bustype_local busTypeA on basic_bustype_pre.originAction = busTypeA.action
left JOIN basic_bustype_local busTypeB on basic_bustype_pre.action = busTypeB.action
<where>
<if test="action != ''and action != null">
AND basic_bustype_pre.`action` = #{action}
</if>
<if test="originAction != ''and originAction != null">
AND basic_bustype_pre.`originAction` = #{originAction}
</if>
</where>
</select>
<insert id="insertBusChangeTypee" keyProperty="id" <insert id="insertBusChangeTypee" keyProperty="id"
parameterType="com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity"> parameterType="com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity">
insert insert
INTO basic_bustype_pre INTO basic_bustype_pre
(action, scAction, `index`, remark, beforeTime, intro, changeType, defaultInv, defaultSubInv) ( `action`, scAction, `index`, remark, beforeTime, intro, changeType, defaultInv, defaultSubInv
, locInv, locSubInv, originAction, changeEnable, supplementAll)
values (#{action}, values (#{action},
#{scAction}, #{scAction},
#{index}, #{index},
#{remark}, #{remark},
#{beforeTime}, #{intro}, #{changeType},#{defaultInv},#{defaultSubInv}) #{beforeTime}, #{intro}, #{changeType}, #{defaultInv}, #{defaultSubInv}
, #{locInv}, #{locSubInv}, #{originAction}, #{changeEnable}, #{supplementAll})
</insert> </insert>
@ -40,6 +68,11 @@
<if test="changeType != null">changeType = #{changeType},</if> <if test="changeType != null">changeType = #{changeType},</if>
<if test="defaultInv != null">defaultInv = #{defaultInv},</if> <if test="defaultInv != null">defaultInv = #{defaultInv},</if>
<if test="defaultSubInv != null">defaultSubInv = #{defaultSubInv},</if> <if test="defaultSubInv != null">defaultSubInv = #{defaultSubInv},</if>
<if test="locInv != null">locInv = #{locInv},</if>
<if test="locSubInv != null">locSubInv = #{locSubInv},</if>
<if test="originAction != null">originAction = #{originAction},</if>
<if test="changeEnable != null">changeEnable = #{changeEnable},</if>
<if test="supplementAll != null">supplementAll = #{supplementAll},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}

@ -54,7 +54,8 @@
<select id="filterGroupInvSub" parameterType="com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest" <select id="filterGroupInvSub" parameterType="com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest"
resultType="com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity"> resultType="com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity">
select inv_warehouse_sub.*, inv_warehouse.`name` AS warehouseName from inv_warehouse_sub INNER JOIN inv_warehouse select inv_warehouse_sub.*, inv_warehouse.`name` AS warehouseName from inv_warehouse_sub INNER JOIN
inv_warehouse
on inv_warehouse_sub.parentId = inv_warehouse.code on inv_warehouse_sub.parentId = inv_warehouse.code
<if test="userId != '' and userId != null"> <if test="userId != '' and userId != null">
INNER JOIN inv_warehouse_user on inv_warehouse_sub.code = inv_warehouse_user.code INNER JOIN inv_warehouse_user on inv_warehouse_sub.code = inv_warehouse_user.code
@ -73,7 +74,7 @@
AND inv_warehouse.spUse = #{spUse} AND inv_warehouse.spUse = #{spUse}
</if> </if>
<if test="superiorCode != '' and superiorCode != null"> <if test="superiorCode != '' and superiorCode != null">
AND (inv_warehouse.code = #{subordinateCode} AND (inv_warehouse.code = #{superiorPcode}
OR inv_warehouse.pcode = #{superiorCode}) OR inv_warehouse.pcode = #{superiorCode})
</if> </if>
<if test="subordinateCode != '' and subordinateCode != null"> <if test="subordinateCode != '' and subordinateCode != null">
@ -217,7 +218,8 @@
<select id="filterGroupInvSubDown" parameterType="com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest" <select id="filterGroupInvSubDown" parameterType="com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest"
resultType="com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity"> resultType="com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity">
select inv_warehouse_sub.*, inv_warehouse.`name` AS warehouseName from inv_warehouse_sub INNER JOIN inv_warehouse select inv_warehouse_sub.*, inv_warehouse.`name` AS warehouseName from inv_warehouse_sub INNER JOIN
inv_warehouse
on inv_warehouse_sub.parentId = inv_warehouse.code on inv_warehouse_sub.parentId = inv_warehouse.code
<where> <where>
<if test="subordinateCode != '' and subordinateCode != null"> <if test="subordinateCode != '' and subordinateCode != null">

@ -57,7 +57,7 @@
INTO pur_apply INTO pur_apply
( (
billNo,billDate,status,billType,remark,locStorageCode,invWarehouseCode, billNo,billDate,status,billType,remark,locStorageCode,invWarehouseCode,
deptCode,createBy,createTime,auditBy,auditTime,updateTime,auditRemark,targetInv,targetSubInv,targetBillType deptCode,createBy,createTime,auditBy,auditTime,updateTime,auditRemark,targetInv,targetSubInv,targetBillType,planBillNo
) )
values ( values (
#{billNo}, #{billNo},
@ -75,7 +75,9 @@
#{updateTime}, #{updateTime},
#{auditRemark}, #{auditRemark},
#{targetInv}, #{targetInv},
#{targetSubInv},#{targetBillType} #{targetSubInv},
#{targetBillType},
#{planBillNo}
) )
</insert> </insert>
@ -114,7 +116,7 @@
<if test="targetInv != null">targetInv=#{targetInv},</if> <if test="targetInv != null">targetInv=#{targetInv},</if>
<if test="targetSubInv != null">targetSubInv=#{targetSubInv},</if> <if test="targetSubInv != null">targetSubInv=#{targetSubInv},</if>
<if test="targetBillType != null">targetBillType=#{targetBillType},</if> <if test="targetBillType != null">targetBillType=#{targetBillType},</if>
<if test="planBillNo != null">planBillNo=#{planBillNo},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>

@ -25,10 +25,11 @@
resultType="com.glxp.api.admin.entity.business.StockOrderDetailEntity"> resultType="com.glxp.api.admin.entity.business.StockOrderDetailEntity">
select select
pur_apply_detail.*, pur_apply_detail.*,
basic_products.ggxh spec,basic_udirel.measname,basic_udirel.manufactory basic_products.ggxh spec,basic_udirel.measname,basic_udirel.manufactory,basic_products.ylqxzcrbarmc,basic_corp.`name` supName
FROM pur_apply_detail FROM pur_apply_detail
INNER JOIN basic_udirel on pur_apply_detail.productId = basic_udirel.id INNER JOIN basic_udirel on pur_apply_detail.productId = basic_udirel.id
INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid
inner join basic_corp on pur_apply_detail.supId =basic_corp.erpId
<where> <where>
<if test="orderIdFk != '' and orderIdFk != null"> <if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk} AND orderIdFk = #{orderIdFk}
@ -49,14 +50,14 @@
replace replace
INTO pur_apply_detail INTO pur_apply_detail
( (
orderIdFk,productId,productName,`count`,supId orderIdFk,productId,productName,`count`,supId,zczbhhzbapzbh
) )
values ( values (
#{orderIdFk}, #{orderIdFk},
#{productId}, #{productId},
#{productName}, #{productName},
#{count}, #{count},
#{supId} #{supId},#{zczbhhzbapzbh}
) )
</insert> </insert>
@ -90,6 +91,7 @@
<if test="productName != null">productName=#{productName},</if> <if test="productName != null">productName=#{productName},</if>
<if test="count != null">`count`=#{count},</if> <if test="count != null">`count`=#{count},</if>
<if test="supId != null">supId=#{supId},</if> <if test="supId != null">supId=#{supId},</if>
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>

@ -9,10 +9,10 @@
select pur_plan.* , select pur_plan.* ,
cb.employeeName createByName,ab.employeeName auditByName, cb.employeeName createByName,ab.employeeName auditByName,
inv_warehouse.name invName,inv_warehouse_sub.`name` subInvName FROM pur_plan inv_warehouse.name invName,inv_warehouse_sub.`name` subInvName FROM pur_plan
INNER JOIN auth_user cb on pur_plan.createBy = cb.id left JOIN auth_user cb on pur_plan.createBy = cb.id
LEFT JOIN auth_user ab on pur_plan.auditBy = ab.id LEFT JOIN auth_user ab on pur_plan.auditBy = ab.id
INNER JOIN inv_warehouse on pur_plan.locStorageCode = inv_warehouse.`code` LEFT JOIN inv_warehouse on pur_plan.locStorageCode = inv_warehouse.`code`
INNER JOIN inv_warehouse_sub on inv_warehouse_sub.code = pur_plan.invWarehouseCode LEFT JOIN inv_warehouse_sub on inv_warehouse_sub.code = pur_plan.invWarehouseCode
<where> <where>
<if test="billNo != '' and billNo != null"> <if test="billNo != '' and billNo != null">
AND billNo = #{billNo} AND billNo = #{billNo}
@ -59,6 +59,7 @@
( (
billNo,billDate,status,billType,remark,locStorageCode,invWarehouseCode, billNo,billDate,status,billType,remark,locStorageCode,invWarehouseCode,
deptCode,createBy,createTime,auditBy,auditTime,updateTime,auditRemark deptCode,createBy,createTime,auditBy,auditTime,updateTime,auditRemark
,applyCreateBy,applyAuditBy,applyRemark,applyBillNo,stockOrderNo
) )
values ( values (
#{billNo}, #{billNo},
@ -74,7 +75,12 @@
#{auditBy}, #{auditBy},
#{auditTime}, #{auditTime},
#{updateTime}, #{updateTime},
#{auditRemark} #{auditRemark},
#{applyCreateBy},
#{applyAuditBy},
#{applyRemark},
#{applyBillNo},
#{stockOrderNo}
) )
</insert> </insert>
@ -110,6 +116,11 @@
<if test="createTime != null">createTime=#{createTime},</if> <if test="createTime != null">createTime=#{createTime},</if>
<if test="updateTime != null">updateTime=#{updateTime},</if> <if test="updateTime != null">updateTime=#{updateTime},</if>
<if test="auditRemark != null">auditRemark=#{auditRemark},</if> <if test="auditRemark != null">auditRemark=#{auditRemark},</if>
<if test="applyCreateBy != null">applyCreateBy=#{applyCreateBy},</if>
<if test="applyAuditBy != null">applyAuditBy=#{applyAuditBy},</if>
<if test="applyRemark != null">applyRemark=#{applyRemark},</if>
<if test="applyBillNo != null">applyBillNo=#{applyBillNo},</if>
<if test="stockOrderNo != null">stockOrderNo=#{stockOrderNo},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>

@ -25,10 +25,12 @@
resultType="com.glxp.api.admin.entity.business.StockOrderDetailEntity"> resultType="com.glxp.api.admin.entity.business.StockOrderDetailEntity">
select select
pur_plan_detail.*, pur_plan_detail.*,
basic_products.ggxh spec,basic_udirel.measname,basic_udirel.manufactory basic_products.ggxh spec,basic_udirel.measname,basic_udirel.manufactory,basic_products.ylqxzcrbarmc
,basic_corp.`name` supName
FROM pur_plan_detail FROM pur_plan_detail
INNER JOIN basic_udirel on pur_plan_detail.productId = basic_udirel.id INNER JOIN basic_udirel on pur_plan_detail.productId = basic_udirel.id
INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid
inner join basic_corp on pur_plan_detail.supId =basic_corp.erpId
<where> <where>
<if test="orderIdFk != '' and orderIdFk != null"> <if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk} AND orderIdFk = #{orderIdFk}
@ -50,14 +52,14 @@
replace replace
INTO pur_plan_detail INTO pur_plan_detail
( (
orderIdFk,productId,productName,`count`,supId orderIdFk,productId,productName,`count`,supId,zczbhhzbapzbh
) )
values ( values (
#{orderIdFk}, #{orderIdFk},
#{productId}, #{productId},
#{productName}, #{productName},
#{count}, #{count},
#{supId} #{supId},#{zczbhhzbapzbh}
) )
</insert> </insert>
@ -90,6 +92,7 @@
<if test="productName != null">productName=#{productName},</if> <if test="productName != null">productName=#{productName},</if>
<if test="count != null">`count`=#{count},</if> <if test="count != null">`count`=#{count},</if>
<if test="supId != null">supId=#{supId},</if> <if test="supId != null">supId=#{supId},</if>
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>

Loading…
Cancel
Save