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

zhairh
anthonyywj2 3 years ago
parent bb0a7ef67c
commit 12fe7bc876

@ -1,17 +1,23 @@
package com.glxp.sale.admin.controller.basic;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.sale.admin.annotation.AuthRuleAnnotation;
import com.glxp.sale.admin.constant.ConstantStatus;
import com.glxp.sale.admin.constant.ConstantType;
import com.glxp.sale.admin.entity.basic.BussinessChangeTypeEntity;
import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.sale.admin.entity.basic.BussinessOriginTypeEntity;
import com.glxp.sale.admin.entity.basic.BussinessTypeEntity;
import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.sale.admin.req.basic.BusTypeChangeFilterRequest;
import com.glxp.sale.admin.req.basic.BussinessTypeFilterRequest;
import com.glxp.sale.admin.req.info.DeleteRequest;
import com.glxp.sale.admin.res.PageSimpleResponse;
import com.glxp.sale.admin.service.basic.BussinessChangeTypeService;
import com.glxp.sale.admin.service.basic.BussinessLocalTypeService;
import com.glxp.sale.admin.service.basic.BussinessTypeService;
import com.glxp.sale.admin.service.inventory.InvSubWarehouseService;
import com.glxp.sale.common.enums.ResultEnum;
import com.glxp.sale.common.res.BaseResponse;
import com.glxp.sale.common.util.ResultVOUtils;
@ -35,6 +41,8 @@ public class BussinessChangeTypeController {
private BussinessTypeService bussinessTypeService;
@Resource
private BussinessLocalTypeService bussinessLocalTypeService;
@Resource
private InvSubWarehouseService invSubWarehouseService;
@AuthRuleAnnotation("")
@GetMapping("/spms/bussinessChangeType/filter")
@ -58,30 +66,30 @@ public class BussinessChangeTypeController {
) {
if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) {
BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity();
bussinessChangeTypeEntity1.setIntro("出库自动补\"供应商入库单\"");
// bussinessChangeTypeEntity1.setIntro("出库自动补\"供应商入库单\"");
bussinessChangeTypeEntity1.setChangeType(ConstantStatus.ORDER_CHANGE_NORMAL_IN);
bussinessChangeTypeEntity1.setIndex(1);
bussinessChangeTypeEntity1.setAction(bussinessTypeFilterRequest.getAction());
bussinessChangeTypeEntity1.setBeforeTime(1);
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());
// 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()) {
BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity();
bussinessChangeTypeEntity1.setIntro("出库自动补\"寄售入库单\"");
// bussinessChangeTypeEntity1.setIntro("出库自动补\"寄售入库单\"");
bussinessChangeTypeEntity1.setChangeType(ConstantStatus.ORDER_CHANGE_ADVANCE_IN);
bussinessChangeTypeEntity1.setIndex(1);
bussinessChangeTypeEntity1.setBeforeTime(1);
@ -94,6 +102,24 @@ public class BussinessChangeTypeController {
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("")
@PostMapping("/spms/bussinessChangeType/remove")
public BaseResponse removeBussinessType(@RequestBody BussinessChangeTypeEntity deleteRequest, BindingResult bindingResult) {
@ -102,7 +128,10 @@ public class BussinessChangeTypeController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String action = deleteRequest.getScAction();
bussinessChangeTypeService.deleteByAction(action);
if (StrUtil.isEmpty(action)) {
bussinessChangeTypeService.deleteById(deleteRequest.getId() + "");
} else
bussinessChangeTypeService.deleteByAction(action);
return ResultVOUtils.success("删除成功");
}
@ -127,16 +156,6 @@ public class BussinessChangeTypeController {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
// if(StrUtil.isEmpty(StrUtil.trimToEmpty(bussinessTypeEntity.getDefaultInv()))){
// return ResultVOUtils.error(999, "补单默认仓库不能为空");
//
// }
// if(StrUtil.isEmpty(StrUtil.trimToEmpty(bussinessTypeEntity.getDefaultSubInv()))){
// return ResultVOUtils.error(999, "补单默认分库不能为空");
// }
if (bussinessTypeEntity != null) {
bussinessChangeTypeService.updateBusChangeType(bussinessTypeEntity);
BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findByAction(bussinessTypeEntity.getAction());
@ -157,6 +176,14 @@ public class BussinessChangeTypeController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
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);
} else {
ResultVOUtils.error(999, "参数错误");

@ -169,11 +169,17 @@ public class UdiRelevanceController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<UdiRelevanceResponse> udiRelevanceResponses = null;
// filterUdiInfoRequest.setDiType(1);
if (filterUdiInfoRequest.getUdiCode() != null && !filterUdiInfoRequest.getUdiCode().isEmpty()) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiInfoRequest.getUdiCode());
filterUdiInfoRequest.setNameCode(udiEntity.getUdi());
if (StrUtil.isNotEmpty(filterUdiInfoRequest.getUnionCode())) {
filterUdiInfoRequest.setNameCode(filterUdiInfoRequest.getUnionCode());
List<UdiRelevanceResponse> temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
if (temps != null && temps.size() > 0) {
filterUdiInfoRequest.setUuid(temps.get(0).getUuid());
filterUdiInfoRequest.setNameCode(null);
}
} else {
filterUdiInfoRequest.setDiType(1);
}
udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) {
@ -301,7 +307,26 @@ public class UdiRelevanceController {
}
UdiInfoEntity udiInfoEntity = new UdiInfoEntity();
BeanUtils.copyProperties(udiRelevanceResponse, udiInfoEntity);
udiInfoEntity.setSptm(udiRelevanceResponse.getSptm());
udiInfoEntity.setYbbm(udiRelevanceResponse.getYbbm());
udiInfoEntity.setMeasname(udiRelevanceResponse.getMeasname());
udiInfoEntity.setManufactory(udiRelevanceResponse.getManufactory());
udiInfoEntity.setCpms(udiRelevanceResponse.getCpms());
udiInfoEntity.setPrice(udiRelevanceResponse.getPrice());
udiInfoEntity.setSpmc(udiRelevanceResponse.getSpmc());
udiInfoEntity.setBasicPrductRemak1(udiRelevanceResponse.getBasicPrductRemak1());
udiInfoEntity.setBasicPrductRemak2(udiRelevanceResponse.getBasicPrductRemak2());
udiInfoEntity.setBasicPrductRemak3(udiRelevanceResponse.getBasicPrductRemak3());
udiInfoEntity.setBasicPrductRemak4(udiRelevanceResponse.getBasicPrductRemak4());
udiInfoEntity.setBasicPrductRemak5(udiRelevanceResponse.getBasicPrductRemak5());
udiInfoEntity.setBasicPrductRemak6(udiRelevanceResponse.getBasicPrductRemak6());
udiInfoEntity.setBasicPrductRemak7(udiRelevanceResponse.getBasicPrductRemak7());
udiInfoEntity.setBasicPrductRemak8(udiRelevanceResponse.getBasicPrductRemak8());
if (StrUtil.isNotEmpty(udiRelevanceResponse.getOriginUuid())) {
udiInfoEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI);
}
udiInfoEntity.setUuid(udiRelevanceResponse.getUuid());
udiInfoService.updateUdiInfo(udiInfoEntity);
return ResultVOUtils.success("更新成功");
}

@ -79,14 +79,16 @@ public class CompanyProductRelevanceController {
List<UdiRelevanceResponse> temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
if (temps != null && temps.size() > 0) {
companyProductRelevanceRequest.setUuid(temps.get(0).getUuid());
companyProductRelevanceRequest.setNameCode(null);
companyProductRelevanceRequest.setNameCode(filterUdiInfoRequest.getNameCode());
companyProductRelevanceRequest.setUnionCode(null);
}
} else {
companyProductRelevanceRequest.setDiType(1);
}
List<CompanyProductRelevanceResponse> basicInstrumentMaintainRelevanceResponses = null;
companyProductRelevanceRequest.setDiType(1);
basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest);
PageInfo<CompanyProductRelevanceResponse> pageInfo;

@ -307,7 +307,8 @@ public class StockOrderDetailController {
companyProductRelevanceRequest.setDiType(1);
companyProductRelevanceRequest.setCustomerId(getCustomerId());
List<CompanyProductRelevanceResponse> companyProductRelevanceResponses = new ArrayList<>();
if (companyProductRelevanceRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) {
if (companyProductRelevanceRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)
&& stockOrderIdsRequest.getPurType() != 1) {
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
filterUdiInfoRequest.setId(stockSelectDataEntity.getRelId());
filterUdiInfoRequest.setDiType(1);
@ -319,8 +320,12 @@ public class StockOrderDetailController {
companyProductRelevanceResponse.setPrice(udiRelevanceResponses.get(0).getPrice());
companyProductRelevanceResponses.add(companyProductRelevanceResponse);
}
} else
} else {
if (companyProductRelevanceRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) {
companyProductRelevanceRequest.setCustomerId(null);
}
companyProductRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest);
}
if (companyProductRelevanceResponses != null && companyProductRelevanceResponses.size() > 0) {
CompanyProductRelevanceResponse udiInfoEntity = companyProductRelevanceResponses.get(0);
StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity();
@ -335,6 +340,7 @@ public class StockOrderDetailController {
stockOrderDetailEntity.setExpireDate(stockSelectDataEntity.getExpireDate());
stockOrderDetailEntity.setManufactory(udiInfoEntity.getManufactory());
stockOrderDetailEntity.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc());
stockOrderDetailEntity.setSupName(udiInfoEntity.getCompanyName());
if (StrUtil.isNotEmpty(stockOrderIdsRequest.getZczbhhzbapzbh()))
stockOrderDetailEntity.setZczbhhzbapzbh(stockOrderIdsRequest.getZczbhhzbapzbh());
else

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

@ -149,7 +149,7 @@ public class PurApplyController {
*/
@RepeatSubmit()
@PostMapping("/purchase/apply/auditOrder")
public BaseResponse auditOrder(@RequestBody PurApplyRequest purApplyRequest) {
public BaseResponse auditOrder(@RequestBody PurApplyResponse purApplyRequest) {
Integer userId = customerService.getUserId();
@ -161,19 +161,26 @@ public class PurApplyController {
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();
String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.JH_ORDER, "yyyyMMdd"));
purPlanEntity.setBillNo(billNo);
purPlanEntity.setBillDate(new Date());
purPlanEntity.setStatus(ConstantStatus.APPLY_UN_AUDIT);
purPlanEntity.setLocStorageCode(purApplyEntity.getTargetInv());
purPlanEntity.setInvWarehouseCode(purApplyEntity.getTargetSubInv());
purPlanEntity.setBillType(purApplyEntity.getTargetBillType());
purPlanEntity.setDeptCode(purApplyEntity.getDeptCode());
purPlanEntity.setCreateBy(purApplyEntity.getAuditBy());
purPlanEntity.setStatus(ConstantStatus.APPLY_DRAFT);
// purPlanEntity.setLocStorageCode(purApplyEntity.getTargetInv());
// purPlanEntity.setInvWarehouseCode(purApplyEntity.getTargetSubInv());
purPlanEntity.setBillType("purPlan");
// purPlanEntity.setBillType(purApplyEntity.getTargetBillType());
// purPlanEntity.setDeptCode(purApplyEntity.getDeptCode());
// purPlanEntity.setCreateBy(purApplyEntity.getAuditBy());
purPlanEntity.setCreateTime(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);
List<PurApplyDetailEntity> purApplyDetailEntities = purApplyDetailService.findByOrderId(purApplyEntity.getId() + "");

@ -172,10 +172,10 @@ public class PurPlanController {
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)) {
//1.根据供应商分组
@ -191,12 +191,13 @@ public class PurPlanController {
}
}
}
//2.生成业务单据
String stockOrderNo = ";";
for (String supId : filterSupMaps.keySet()) {
//2.构建业务单据
StockOrderEntity stockOrderEntity = new StockOrderEntity();
String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.BUS_ORDER, "yyyyMMdd"));
stockOrderNo = stockOrderNo + billNo;
stockOrderEntity.setBillNo(billNo);
stockOrderEntity.setSourceType(ConstantStatus.ST_APPLY_ADD);
stockOrderEntity.setCorpId(supId);
@ -205,10 +206,11 @@ public class PurPlanController {
stockOrderEntity.setCorpName(basicUnitMaintainEntity.getName());
stockOrderEntity.setBilldate(DateUtil.formatDateTime(new Date()));
stockOrderEntity.setStatus(ConstantStatus.SORDER_ALLOC);
stockOrderEntity.setBillType(basicBusTypeChangeEntity.getTargetBusAction());
stockOrderEntity.setInvWarehouseCode(purApplyEntity.getInvWarehouseCode());
stockOrderEntity.setLocStorageCode(purApplyEntity.getLocStorageCode());
stockOrderEntity.setDept(purApplyEntity.getDeptCode());
stockOrderEntity.setBillType(purApplyEntity.getTargetBillAction());
stockOrderEntity.setInvWarehouseCode(purApplyEntity.getTargetSubInv());
stockOrderEntity.setLocStorageCode(purApplyEntity.getTargetInv());
stockOrderEntity.setCreateUser(userId);
// stockOrderEntity.setDept(purApplyEntity.getDeptCode());
stockOrderService.insertStockOrder(stockOrderEntity);
//3.构建单据详情
List<PurPlanDetailEntity> temps = filterSupMaps.get(supId);
@ -235,8 +237,10 @@ public class PurPlanController {
}
}
}
}
purApplyEntity.setStockOrderNo(stockOrderNo.substring(1));
purPlanService.update(purApplyEntity);
}
}

@ -2,6 +2,7 @@ package com.glxp.sale.admin.dao.basic;
import com.glxp.sale.admin.entity.basic.BussinessChangeTypeEntity;
import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.sale.admin.req.basic.BusTypeChangeFilterRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -10,9 +11,10 @@ import java.util.List;
@Mapper
public interface BussinessChangeTypeDao {
List<BussinessChangeTypeEntity> findByAction(String action);
List<BussinessChangeTypeEntity> filterAll(BusTypeChangeFilterRequest busTypeChangeFilterRequest);
boolean updateBusChangeType(BussinessChangeTypeEntity bussinessTypeEntity);

@ -7,6 +7,7 @@ import com.glxp.sale.admin.req.inout.StockOrderQueryRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
@Mapper
@ -25,7 +26,7 @@ public interface StockOrderDao {
boolean deleteById(@Param("id") String id);
boolean updateByStatus(@Param("orderId") String orderId, @Param("status") Integer status);
boolean updateByStatus(@Param("orderId") String orderId, @Param("status") Integer status, @Param("updateTime") Date updateTime);
List<StockOrderEntity> filterListOr(StockOrderFilterRequest stockOrderFilterRequest);

@ -19,6 +19,22 @@ public class BussinessChangeTypeEntity {
private String defaultSubInv;
private String defautInvName;
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() {
if (beforeTime == null)
return 0;

@ -35,6 +35,9 @@ public class UdiRelevanceEntity {
private String price;
private String modifyTime; //修改时间
private Boolean useMuti; //是否多次使用
private Integer useNum; //最小包装单元可使用次数
public Integer getLockStatus() {
if (lockStatus == null)
return 1;

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

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

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

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

@ -72,4 +72,17 @@ public class PurPlanEntity {
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.sale.admin.req.basic;
import com.glxp.sale.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class BusTypeChangeFilterRequest extends ListPageRequest {
private String action;
private String originAction;
}

@ -17,4 +17,5 @@ public class StockOrderIdsRequest {
List<StockOrderDetailEntity> stockOrderLists;
private String zczbhhzbapzbh;
private int type; //1耗材领用
private int purType;
}

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

@ -15,4 +15,6 @@ public class PostPurPlanRequest {
List<PurPlanDetailEntity> purPlanDetailEntities;
List<StockOrderDetailEntity> subErpOrders;
}

@ -93,7 +93,7 @@ public class PurApplyRequest extends ListPageRequest {
*/
private Date createTime;
private String auditRemark;
private String auditRemark;
private String targetInv;
@ -103,5 +103,7 @@ public class PurApplyRequest extends ListPageRequest {
private String startDate;
private String endDate;
private boolean audtoPlan;
}

@ -85,7 +85,8 @@ public class UdiRelevanceResponse {
private String basicPrductRemak6;
private String basicPrductRemak7;
private String basicPrductRemak8;
private Boolean useMuti; //是否多次使用
private Integer useNum; //最小包装单元可使用次数
//产品代理商
private String cpdls;

@ -36,5 +36,9 @@ public class SyncDataSetResponse {
private boolean unCheckCert;
private boolean checkedCert;
private boolean companyCert;
private boolean manufacturerCert;
private boolean productCert;
}

@ -72,4 +72,8 @@ public class PurApplyResponse {
private String targetInv;
private String targetSubInv;
private String targetBillType;
private String planBillNo; //生成采购计划单据号
private boolean audtoPlan;
}

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

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

@ -1,8 +1,13 @@
package com.glxp.sale.admin.service.basic.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.sale.admin.dao.basic.BussinessChangeTypeDao;
import com.glxp.sale.admin.entity.basic.BussinessChangeTypeEntity;
import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.sale.admin.entity.basic.BussinessTypeEntity;
import com.glxp.sale.admin.req.basic.BusTypeChangeFilterRequest;
import com.glxp.sale.admin.service.basic.BussinessChangeTypeService;
import org.springframework.stereotype.Service;
@ -21,6 +26,30 @@ public class BussinessChangeTypeServiceaImpl implements BussinessChangeTypeServi
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
public BussinessChangeTypeEntity findFirstByAction(String action) {

@ -1,6 +1,7 @@
package com.glxp.sale.admin.service.basic.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.sale.admin.dao.basic.UdiInfoDao;
import com.glxp.sale.admin.entity.basic.UdiInfoEntity;
@ -102,6 +103,8 @@ public class UdiInfoServiceImpl implements UdiInfoService {
@Override
public boolean updateUdiInfo(UdiInfoEntity udiInfoEntity) {
if (StrUtil.isEmpty(udiInfoEntity.getUuid()))
return false;
return udiInfoDao.updateUdiInfo(udiInfoEntity);
}

@ -32,10 +32,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Transactional
@ -77,6 +74,7 @@ public class StockOrderServiceImpl implements StockOrderService {
@Override
public boolean insertStockOrder(StockOrderEntity stockOrderEntity) {
stockOrderEntity.setUpdateTime(new Date());
return stockOrderDao.insertStockOrder(stockOrderEntity);
}
@ -92,6 +90,7 @@ public class StockOrderServiceImpl implements StockOrderService {
@Override
public boolean updateById(StockOrderEntity stockOrderEntity) {
stockOrderEntity.setUpdateTime(new Date());
return stockOrderDao.updateById(stockOrderEntity);
}
@ -107,7 +106,7 @@ public class StockOrderServiceImpl implements StockOrderService {
@Override
public boolean updateByStatus(String orderId, Integer status) {
return stockOrderDao.updateByStatus(orderId, status);
return stockOrderDao.updateByStatus(orderId, status, new Date());
}
@Override

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

@ -39,6 +39,7 @@ public class SyncDataSetServiceImpl implements SyncDataSetService {
@Override
public boolean insert(SyncDataSetEntity syncDataSetEntity) {
return syncDataSetDao.insert(syncDataSetEntity);
}
}

@ -7,6 +7,7 @@ import com.glxp.sale.admin.entity.basic.*;
import com.glxp.sale.admin.entity.inout.*;
import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity;
import com.glxp.sale.admin.entity.inventory.InvProductEntity;
import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.sale.admin.entity.param.SystemParamConfigEntity;
import com.glxp.sale.admin.entity.udid.UdiEntity;
@ -19,6 +20,7 @@ import com.glxp.sale.admin.service.inout.*;
import com.glxp.sale.admin.service.inventory.*;
import com.glxp.sale.admin.service.param.SystemParamConfigService;
import com.glxp.sale.admin.util.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@ -26,6 +28,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
@Slf4j
@Service
public class InvProductsTrService {
@ -70,6 +73,8 @@ public class InvProductsTrService {
InvWarehouseService invWarehouseService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
InvSubWarehouseService invSubWarehouseService;
@Async
public void genInvProducts(String orderId) {
@ -99,31 +104,11 @@ public class InvProductsTrService {
if (bussinessTypeEntity.isPreIn()) {
InvProductEntity invPreProductEntity = null;
// invPreInProductService.selectByUuid(erpOrderEntity.getGoodsid(), erpOrderEntity.getBatchNo(), warehouseEntity.getSupId()
// , warehouseEntity.getLocStorageCode(), warehouseEntity.getInvWarehouseCode());
if (invPreProductEntity == null) {
invPreProductEntity = buildInvPreInProduct(orderEntity, erpOrderEntity, warehouseEntity);
invPreProductEntity.setUpdateTime(new Date());
invPreInProductService.insertInvProduct(invPreProductEntity);
}
/**
* else {
* int actCount = getActCount(warehouseEntity);
* int count = actCount * warehouseEntity.getCount();
* if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
* invPreProductEntity.setOutCount(invPreProductEntity.getOutCount() + count);
* } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
* invPreProductEntity.setInCount(invPreProductEntity.getInCount() + count);
* }
* if (erpOrderEntity.getPrice() != null) {
* invPreProductEntity.setPrice(erpOrderEntity.getPrice() + "");
* }
* invPreProductEntity.setUpdateTime(new Date());
* invPreInProductService.updateInvProduct(invPreProductEntity);
* }
*/
} else if (bussinessTypeEntity.isAdvanceType()) {//预入库,则转存预入库
InvProductEntity invPreProductEntity =
invPreProductService.selectByUuid(erpOrderEntity.getGoodsid(), erpOrderEntity.getBatchNo(), warehouseEntity.getSupId()
@ -213,11 +198,6 @@ public class InvProductsTrService {
invProductDetailEntities = buildInvProductDetail(orderId, erpOrderEntity, orderEntity, 3);
} else {
invProductDetailEntities = buildInvProductDetail(orderId, erpOrderEntity, orderEntity, 2);
//todo 为什么要插入库存
// if (orderEntity.isPreCheck()) {
//// insetInv(bussinessTypeEntity, invProductDetailEntities);//2.插入当前库存
// invPreInProductDetailService.insertInvProducts(invProductDetailEntities);
// }
}
if (invProductDetailEntities != null && invProductDetailEntities.size() > 0) {
mInvProductDetailEntities.addAll(invProductDetailEntities);
@ -227,32 +207,35 @@ public class InvProductsTrService {
}
//单据流转
List<BussinessChangeTypeEntity> bussinessChangeTypeEntitys = bussinessChangeTypeService.findByAction(bussinessLocalTypeEntity.getLocalAction());
if ((bussinessChangeTypeEntitys != null && bussinessChangeTypeEntitys.size() > 0) && bussinessLocalTypeEntity.isChangeEnable()) {
if (orderEntity.isOutChangeEnable()) {//是否缺量补单
//普通出库
if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) {
addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntitys);
} else if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType())
//普通入库补单
{
BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0);
List<WarehouseEntity> datas = addPutOrder(orderEntity, mInvProductDetailEntities);
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 = addPreOutOrder(orderEntity, mInvProductDetailEntities);
List<WarehouseEntity> temps = filterMapCodes(datas);
buildPreInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据
} else {
insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
}
} else {
insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
}
BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeService.findOriginAction(bussinessLocalTypeEntity.getLocalAction());
if (bussinessChangeTypeEntity != null && bussinessLocalTypeEntity.isChangeEnable()) {
addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntity);
// if (orderEntity.isOutChangeEnable()) {//是否缺量补单
// //普通出库
// if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) {
// addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntitys);
// } else if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType())
// //普通入库补单
// {
// BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0);
// List<WarehouseEntity> datas = addPutOrder(orderEntity, mInvProductDetailEntities);
// 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 = addPreOutOrder(orderEntity, mInvProductDetailEntities);
// List<WarehouseEntity> temps = filterMapCodes(datas);
// buildPreInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据
// } else {
// insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
// }
// } else {
// insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
// }
} else {
insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
@ -262,28 +245,13 @@ public class InvProductsTrService {
}
//普通出库补单-- //补采购入库,调拨入库,寄售转入
public void addUseOutOrder(OrderEntity orderEntity, List<InvProductDetailEntity> invProductDetailEntities, List<BussinessChangeTypeEntity> bussinessChangeTypeEntities) {
BussinessChangeTypeEntity advChangeTypeEntity = null;
BussinessChangeTypeEntity norChangeTypeEntity = null;
BussinessChangeTypeEntity outChangeTypeEntity = null;
BussinessChangeTypeEntity innorChangeTypeEntity = null;
for (BussinessChangeTypeEntity bussinessChangeTypeEntity : bussinessChangeTypeEntities) {
if (bussinessChangeTypeEntity.getChangeType() == ConstantStatus.ORDER_CHANGE_NORMAL_ADV_IN) {
advChangeTypeEntity = bussinessChangeTypeEntity;
} else if (bussinessChangeTypeEntity.getChangeType() == ConstantStatus.ORDER_CHANGE_NORMAL_IN) {
outChangeTypeEntity = bussinessChangeTypeEntity;
} else if (bussinessChangeTypeEntity.getChangeType() == ConstantStatus.ORDER_CHANGE_INNOR_NORMAL_IN) {
innorChangeTypeEntity = bussinessChangeTypeEntity;
}
}
public void addUseOutOrder(OrderEntity orderEntity, List<InvProductDetailEntity> invProductDetailEntities, BussinessChangeTypeEntity bussinessChangeTypeEntity) {
List<WarehouseEntity> warehouseEntities = codesService.findByReceiptId(orderEntity.getId());
List<WarehouseEntity> inList = new ArrayList<>();
List<WarehouseEntity> preiInList = new ArrayList<>();
//缺量补单时是否全量补单
BussinessTypeEntity bussinessTypeEntity1 = bussinessTypeService.findBTByAction(orderEntity.getAction());
// SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("ullage_supplement_all");
if (bussinessTypeEntity1.isSupplementAll()) {
if (bussinessChangeTypeEntity.isSupplementAll()) {
insetInv(bussinessTypeEntity1, invProductDetailEntities);//2.插入当前库存
WarehouseEntity warehouseEntity = warehouseEntities.get(0);
InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode());
@ -293,15 +261,12 @@ public class InvProductsTrService {
}
} else {
if (locWarehouseEntity.getLevel() > 1) {
norChangeTypeEntity = innorChangeTypeEntity;
InvWarehouseEntity pInWarehouseEntity = invWarehouseService.selectByCode(locWarehouseEntity.getPcode());
for (WarehouseEntity tempEntity : warehouseEntities) {
tempEntity.setFromCorp(pInWarehouseEntity.getName());
tempEntity.setFromCorpId(pInWarehouseEntity.getCode());
tempEntity.setFromCorp(bussinessChangeTypeEntity.getDefaultInv());
tempEntity.setFromCorpId(bussinessChangeTypeEntity.getDefaultSubInv());
inList.add(tempEntity);
}
} else {
norChangeTypeEntity = outChangeTypeEntity;
BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(warehouseEntity.getSupId());
for (WarehouseEntity tempEntity : warehouseEntities) {
tempEntity.setFromCorpId(warehouseEntity.getSupId());
@ -321,7 +286,7 @@ public class InvProductsTrService {
* else>1
* {}
*/
InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode());
InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(bussinessChangeTypeEntity.getLocInv());
if (locWarehouseEntity.getLevel() == 1 && isAdavnce(warehouseEntity)) {//补寄售转入
//获取当前条码实际数量
int actCount = getActCount(warehouseEntity);
@ -332,7 +297,7 @@ public class InvProductsTrService {
*
* 1=
*/
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(advChangeTypeEntity.getScAction());
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessChangeTypeEntity.getScAction());
InvWarehouseEntity invWarehouseEntity;
if (!StrUtil.isEmpty(bussinessTypeEntity.getStorageCode())) {
invWarehouseEntity = invWarehouseService.selectByCode(bussinessTypeEntity.getStorageCode());
@ -344,13 +309,11 @@ public class InvProductsTrService {
} else
invWarehouseEntity = invWarehouseService.findDefault(true, true);
int invCount = getCountByOrder(null, warehouseEntity);
warehouseEntity.setFromCorpId(invWarehouseEntity.getCode());
warehouseEntity.setFromCorp(invWarehouseEntity.getName());
if (invCount > 0) {//仓库已存在该产品
if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装
// UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode());
if (actCount > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补
preiInList.add(warehouseEntity);
} else if (warehouseEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量
@ -371,26 +334,27 @@ public class InvProductsTrService {
String code = warehouseEntity.getCode();
int count = actCount * warehouseEntity.getCount();
int invCount = 0;
if (locWarehouseEntity.getLevel() > 1) {//补调拨入库
/**
*
*/
InvWarehouseEntity pInWarehouseEntity = invWarehouseService.selectByCode(locWarehouseEntity.getPcode());
warehouseEntity.setFromCorp(pInWarehouseEntity.getName());
warehouseEntity.setFromCorpId(pInWarehouseEntity.getCode());
invCount = getCountByOrder(null, warehouseEntity);
norChangeTypeEntity = innorChangeTypeEntity;
} else { //补供应商入库
if (locWarehouseEntity.getLevel() == 1 && StrUtil.isEmpty(bussinessChangeTypeEntity.getDefaultSubInv())) {
/**
*
*/
//供应商
warehouseEntity.setFromCorpId(warehouseEntity.getSupId());
BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(warehouseEntity.getSupId());
warehouseEntity.setFromCorp(basicUnitMaintainEntity.getName());
invCount = getCountByOrder(null, warehouseEntity);
norChangeTypeEntity = outChangeTypeEntity;
} 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) {//仓库已存在该产品
@ -418,12 +382,12 @@ public class InvProductsTrService {
if (inList.size() > 0) {
List<WarehouseEntity> temps = filterMapCodes(inList);
buildInOrder(norChangeTypeEntity, temps, orderEntity); //3.生成采购入库流转单据
buildInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成采购入库流转单据
}
if (preiInList.size() > 0) {
List<WarehouseEntity> temps1 = filterMapCodes(preiInList);
buildNorPreInOrder(advChangeTypeEntity, temps1, orderEntity); //3.补寄售转入
buildNorPreInOrder(bussinessChangeTypeEntity, temps1, orderEntity); //3.补寄售转入
}
}
@ -698,7 +662,9 @@ public class InvProductsTrService {
} else
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()) {
List<WarehouseEntity> temps;
@ -708,8 +674,8 @@ public class InvProductsTrService {
outOrder.setSupplementNo(null);//补单需置空
outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime()));
outOrder.setCreateTime(outOrder.getActDate());
outOrder.setAction(bussinessChangeTypeEntity.getScAction());
outOrder.setMainAction(ConstantType.TYPE_PUT);
outOrder.setAction(bussinessTypeEntity.getAction());
outOrder.setMainAction(bussinessTypeEntity.getMainAction());
outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN);
outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID);
outOrder.setErpFk(null);
@ -718,14 +684,13 @@ public class InvProductsTrService {
outOrder.setId(orderNo);
outOrder.setFromCorpId(corpName);
outOrder.setFromCorp(temps.get(0).getFromCorp());
// BussinessTypeEntity originBT = bussinessTypeService.findBTByAction(orderEntity.getAction());
if (StrUtil.isNotEmpty(bussinessChangeTypeEntity.getDefaultSubInv())) {
outOrder.setFromSubInvCode(bussinessChangeTypeEntity.getDefaultSubInv());
}
outOrder.setCorpOrderId(CustomUtil.getId() + "x");
outOrder.setLocStorageCode(orderEntity.getLocStorageCode());
outOrder.setInvStorageCode(orderEntity.getLocStorageCode());
outOrder.setLocStorageCode(bussinessChangeTypeEntity.getLocInv());
outOrder.setInvStorageCode(bussinessChangeTypeEntity.getLocInv());
outOrder.setInvWarehouseCode(bussinessChangeTypeEntity.getLocSubInv());
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit");
if ("1".equals(systemParamConfigEntity.getParamValue())) {
outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
@ -750,8 +715,8 @@ public class InvProductsTrService {
warehouseEntity.setFromCorpId(outOrder.getFromCorpId());
warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode());
warehouseEntity.setInvWarehouseCode(outOrder.getInvWarehouseCode());
warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction());
warehouseEntity.setMainAction(ConstantType.TYPE_PUT);
warehouseEntity.setAction(outOrder.getAction());
warehouseEntity.setMainAction(outOrder.getMainAction());
}
codesTempService.insertCodesTemp(temps);
}

@ -1,7 +1,7 @@
# \u751F\u4EA7\u73AF\u5883
server.port=9906
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.jdbc-url=jdbc:mysql://192.168.0.55:3306/spms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/spms_za?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.hikari.connection-timeout=60000
@ -29,7 +29,7 @@ spring.jackson.time-zone=GMT+8
spring.main.allow-bean-definition-overriding=true
spring.redis.database=4
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.port=6379
spring.redis.password=
spring.redis.jedis.pool.max-active=8
spring.redis.jedis.pool.max-wait=-1

@ -6,7 +6,10 @@
<select id="findByAction" parameterType="Map"
resultType="com.glxp.sale.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
LEFT JOIN basic_bussiness_type
on basic_bustype_pre.scAction = basic_bussiness_type.action
@ -15,17 +18,40 @@
where basic_bustype_pre.`action` = #{action}
</select>
<select id="filterAll" parameterType="com.glxp.sale.admin.req.basic.BusTypeChangeFilterRequest"
resultType="com.glxp.sale.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"
parameterType="com.glxp.sale.admin.entity.basic.BussinessChangeTypeEntity">
insert
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},
#{scAction},
#{index},
#{remark},
#{beforeTime}, #{intro}, #{changeType},#{defaultInv},#{defaultSubInv})
#{beforeTime}, #{intro}, #{changeType}, #{defaultInv}, #{defaultSubInv}
, #{locInv}, #{locSubInv}, #{originAction}, #{changeEnable}, #{supplementAll})
</insert>
<update id="updateBusChangeType" parameterType="com.glxp.sale.admin.entity.basic.BussinessChangeTypeEntity">
@ -40,7 +66,11 @@
<if test="changeType != null">changeType = #{changeType},</if>
<if test="defaultInv != null">defaultInv = #{defaultInv},</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>
WHERE id = #{id}
</update>

@ -281,7 +281,7 @@
<if test="basicPrductRemak7 != null">basicPrductRemak7=#{basicPrductRemak7},</if>
<if test="basicPrductRemak8 != null">basicPrductRemak8=#{basicPrductRemak8},</if>
</trim>
WHERE nameCode = #{nameCode}
WHERE uuid = #{uuid}
</update>
<select id="batchSelectByUuid" resultType="com.glxp.sale.admin.entity.basic.UdiInfoEntity">

@ -31,7 +31,8 @@
basic_products.scbssfbhsxrq,basic_products.cpms,basic_udirel.supName,basic_products.originUuid
,basic_products.basicPrductRemak1
,basic_products.basicPrductRemak2,basic_products.basicPrductRemak3,basic_products.basicPrductRemak4,basic_products.basicPrductRemak5,basic_products.basicPrductRemak6
,basic_products.basicPrductRemak7,basic_products.basicPrductRemak8,basic_products.hchzsb
,basic_products.basicPrductRemak7,basic_products.basicPrductRemak8,basic_products.hchzsb,
basic_udirel.useNum, basic_udirel.useMuti
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
@ -122,7 +123,8 @@
basic_products.scbssfbhsxrq,basic_products.cpms,basic_udirel.supName,company_product_relevance.unitFk,
customer_info.companyName,basic_products.originUuid,basic_products.basicPrductRemak1
,basic_products.basicPrductRemak2,basic_products.basicPrductRemak3,basic_products.basicPrductRemak4,basic_products.basicPrductRemak5,basic_products.basicPrductRemak6
,basic_products.basicPrductRemak7,basic_products.basicPrductRemak8
,basic_products.basicPrductRemak7,basic_products.basicPrductRemak8,
basic_udirel.useNum, basic_udirel.useMuti
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
@ -215,7 +217,8 @@
basic_products.scbssfbhsxrq,basic_products.cpms,basic_udirel.supName,basic_products.originUuid,basic_products.spmc,
basic_products.basicPrductRemak1
,basic_products.basicPrductRemak2,basic_products.basicPrductRemak3,basic_products.basicPrductRemak4,basic_products.basicPrductRemak5,basic_products.basicPrductRemak6
,basic_products.basicPrductRemak7,basic_products.basicPrductRemak8
,basic_products.basicPrductRemak7,basic_products.basicPrductRemak8,
basic_udirel.useNum, basic_udirel.useMuti
FROM basic_products
right JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid
@ -429,6 +432,7 @@
thirdId,thirdName,uuid,isUseDy,updateTime,
thirdId1,thirdId2,thirdId3,thirdId4,thirdName1,thirdName2,thirdName3,thirdName4,manufactory,measname,ybbm,sptm,isDisable,isLock
,mainId,mainName,lockStatus,udplatCode,isAdavence,supName,price,modifyTime
,useNum,useMuti
)
values
(
@ -459,7 +463,9 @@
#{isAdavence},
#{supName},
#{price},
#{modifyTime}
#{modifyTime},
#{useNum},
#{useMuti}
)
</insert>
@ -472,7 +478,7 @@
(id,
thirdId,thirdName,uuid,isUseDy,updateTime,
thirdId1,thirdId2,thirdId3,thirdId4,thirdName1,thirdName2,thirdName3,thirdName4,manufactory,measname,ybbm,sptm,isDisable,isLock
,mainId,mainName,lockStatus,udplatCode,isAdavence,supName,price,modifyTime
,mainId,mainName,lockStatus,udplatCode,isAdavence,supName,price,modifyTime,useNum,useMuti
)
values
(
@ -503,7 +509,9 @@
#{isAdavence},
#{supName},
#{price},
#{modifyTime}
#{modifyTime},
#{useNum},
#{useMuti}
)
</insert>
@ -554,6 +562,8 @@
<if test="isAdavence != null">isAdavence=#{isAdavence},</if>
<if test="supName != null">supName=#{supName},</if>
<if test="price != null">price=#{price},</if>
<if test="useNum != null">useNum=#{useNum},</if>
<if test="useMuti != null">useMuti=#{useMuti}</if>
</trim>
WHERE id = #{id}
@ -579,7 +589,7 @@
<insert id="importUdiRelevance" parameterType="java.util.List">
replace into basic_udirel (id, thirdId, thirdName, uuid, isUseDy, updateTime, thirdId1, thirdId2, thirdId3,
thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, ybbm, sptm, manufactory,
measname, isDisable, mainId, mainName, udplatCode,supName,price,modifyTime)
measname, isDisable, mainId, mainName, udplatCode,supName,price,modifyTime,useNum,useMuti)
values
<foreach collection="udiRelevanceEntities" item="item" index="index" separator=",">
(#{item.id},
@ -603,7 +613,7 @@
#{item.isDisable},
#{item.mainId},
#{item.mainName},
#{item.udplatCode},#{item.supName},#{item.price},#{item.modifyTime})
#{item.udplatCode},#{item.supName},#{item.price},#{item.modifyTime},#{item.useNum},#{item.useMuti})
</foreach>
</insert>
</mapper>

@ -96,7 +96,7 @@
<update id="updateByStatus" parameterType="Map">
UPDATE stock_order
SET `status` = #{status}
SET `status` = #{status},`updateTime` = #{updateTime}
where id = #{orderId}
</update>
<update id="updateSupplementNoByBillNo">
@ -221,7 +221,7 @@
</if>
</where>
group by stock_order.id
ORDER BY id DESC
ORDER BY updateTime DESC
</select>

@ -49,7 +49,7 @@
AND inv_warehouse.spUse = #{spUse}
</if>
<if test="superiorCode != '' and superiorCode != null">
AND (inv_warehouse.code = #{subordinateCode}
AND (inv_warehouse.code = #{superiorPcode}
OR inv_warehouse.pcode = #{superiorCode})
</if>
<if test="subordinateCode != '' and subordinateCode != null">

@ -17,10 +17,10 @@
AND billNo = #{billNo}
</if>
<if test="startDate != null and startDate !=''">
<![CDATA[ and DATE_FORMAT(billDate,'%Y-%m-%d')>= #{startDate}]]>
<![CDATA[ and DATE_FORMAT(billDate,'%Y-%m-%d')>= #{startDate}]]>
</if>
<if test="endDate != null and endDate !=''">
<![CDATA[ and DATE_FORMAT(billDate,'%Y-%m-%d') <= #{endDate}]]>
<if test="endDate != null and endDate !=''">
<![CDATA[ and DATE_FORMAT(billDate,'%Y-%m-%d') <= #{endDate}]]>
</if>
<if test="status!=null and status!=10 and status!=11">
and pur_apply.status = #{status}
@ -57,7 +57,7 @@
INTO pur_apply
(
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 (
#{billNo},
@ -75,7 +75,9 @@
#{updateTime},
#{auditRemark},
#{targetInv},
#{targetSubInv},#{targetBillType}
#{targetSubInv},
#{targetBillType},
#{planBillNo}
)
</insert>
@ -114,7 +116,7 @@
<if test="targetInv != null">targetInv=#{targetInv},</if>
<if test="targetSubInv != null">targetSubInv=#{targetSubInv},</if>
<if test="targetBillType != null">targetBillType=#{targetBillType},</if>
<if test="planBillNo != null">planBillNo=#{planBillNo},</if>
</trim>
WHERE id = #{id}
</update>

@ -25,10 +25,11 @@
resultType="com.glxp.sale.admin.entity.inout.StockOrderDetailEntity">
select
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
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_corp on pur_apply_detail.supId =basic_corp.erpId
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
@ -49,14 +50,15 @@
replace
INTO pur_apply_detail
(
orderIdFk,productId,productName,`count`,supId
orderIdFk,productId,productName,`count`,supId,zczbhhzbapzbh
)
values (
#{orderIdFk},
#{productId},
#{productName},
#{count},
#{supId}
#{supId},
#{zczbhhzbapzbh}
)
</insert>
@ -90,6 +92,7 @@
<if test="productName != null">productName=#{productName},</if>
<if test="count != null">`count`=#{count},</if>
<if test="supId != null">supId=#{supId},</if>
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if>
</trim>
WHERE id = #{id}
</update>

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

@ -25,10 +25,12 @@
resultType="com.glxp.sale.admin.entity.inout.StockOrderDetailEntity">
select
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
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_corp on pur_plan_detail.supId =basic_corp.erpId
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
@ -50,14 +52,15 @@
replace
INTO pur_plan_detail
(
orderIdFk,productId,productName,`count`,supId
orderIdFk,productId,productName,`count`,supId,zczbhhzbapzbh
)
values (
#{orderIdFk},
#{productId},
#{productName},
#{count},
#{supId}
#{supId},
#{zczbhhzbapzbh}
)
</insert>
@ -90,6 +93,8 @@
<if test="productName != null">productName=#{productName},</if>
<if test="count != null">`count`=#{count},</if>
<if test="supId != null">supId=#{supId},</if>
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if>
</trim>
WHERE id = #{id}
</update>

Loading…
Cancel
Save