单据流转设置改动,采购管理优化,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,7 +127,10 @@ 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();
bussinessChangeTypeService.deleteByAction(action); if (StrUtil.isEmpty(action)) {
bussinessChangeTypeService.deleteById(deleteRequest.getId() + "");
} else
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;//上级
} }

@ -93,7 +93,7 @@ public class PurApplyRequest extends ListPageRequest {
*/ */
private Date createTime; private Date createTime;
private String auditRemark; private String auditRemark;
private String targetInv; private String targetInv;
@ -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,8 +74,8 @@
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">
AND inv_warehouse.pcode = #{subordinateCode} AND inv_warehouse.pcode = #{subordinateCode}
@ -192,7 +193,7 @@
<select id="filterInvSubWarehouseResponse" <select id="filterInvSubWarehouseResponse"
resultType="com.glxp.api.admin.res.inventory.InvSubWarehouseResponse"> resultType="com.glxp.api.admin.res.inventory.InvSubWarehouseResponse">
select a.id, a.code, a.name, a.parentId, a.remark, a.defaultInv, a.thirdId, a.thirdId1, a.thirdId2, select a.id, a.code, a.name, a.parentId, a.remark, a.defaultInv, a.thirdId, a.thirdId1, a.thirdId2,
a.thirdId3, a.thirdId4, b.name as parentName a.thirdId3, a.thirdId4, b.name as parentName
FROM inv_warehouse_sub a FROM inv_warehouse_sub a
left join inv_warehouse b on a.parentId = b.code left join inv_warehouse b on a.parentId = b.code
@ -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}
@ -30,7 +30,7 @@
and ( pur_plan.status = 3 or pur_plan.status=2 or pur_plan.status=4) and ( pur_plan.status = 3 or pur_plan.status=2 or pur_plan.status=4)
</if> </if>
<if test="status ==11"> <if test="status ==11">
and ( pur_plan.status = 1 or pur_plan.status=2 or pur_plan.status=4) and ( pur_plan.status = 1 or pur_plan.status=2 or pur_plan.status=4)
</if> </if>
<if test="deptCode != '' and deptCode != null"> <if test="deptCode != '' and deptCode != null">
@ -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