diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java index 4ddb006da..27da9a0f6 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java @@ -15,13 +15,16 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.inout.*; +import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.inout.IoOrderMutiRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.inout.IoOrderMutiResponse; import com.glxp.api.res.inout.IoOrderMutiSetResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.UdiProductService; +import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.inout.*; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.OrderNoTypeBean; @@ -62,6 +65,10 @@ public class IoOrderMutiController { IBasicBussinessTypeService basicBussinessTypeService; @Resource InvWarehouseService invWarehouseService; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + IoOrderDetailCodeService ioOrderDetailCodeService; @PostMapping("/udiwms/inout/order/muti/checkUdi") @@ -214,6 +221,7 @@ public class IoOrderMutiController { public BaseResponse updateOrderMuti(@RequestBody IoOrderMutiEntity ioOrderMutiEntity) { String orderNo = ioOrderMutiEntity.getOrderIdFk(); + //如果是第一次的话就插入 String mark = ioOrderMutiEntity.getMark(); int totalCount = ioOrderMutiEntity.getTotalCount(); @@ -224,9 +232,7 @@ public class IoOrderMutiController { ioOrderMutiEntity.setTotalCount(totalCount); ioOrderMutiEntity.setUseCount(useCount); ioOrderMutiEntity.setStatus(status); - System.out.println("1111111111111111"); if (StrUtil.isBlank(ioOrderMutiEntity.getOrderIdFk()) && ioOrderMutiEntity.getStatus() == 1) { - IoOrderEntity orderEntity = new IoOrderEntity(); //查询补单条件 AuthAdmin authAdmin = customerService.getUserBean(); QueryWrapper setEw = new QueryWrapper<>(); @@ -235,48 +241,7 @@ public class IoOrderMutiController { if (ioOrderMutiSetEntity == null) { return ResultVOUtils.error(999, "请设置补单条件!"); } - BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(ioOrderMutiSetEntity.getTargetAction()); - InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(ioOrderMutiSetEntity.getCurInv()); - orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); - orderEntity.setBillNo(orderNo); - orderEntity.setMainAction(ConstantType.TYPE_OUT); - orderEntity.setCreateUser(authAdmin.getId() + ""); - orderEntity.setCreateTime(new Date()); - orderEntity.setUpdateUser(authAdmin.getId() + ""); - orderEntity.setUpdateTime(new Date()); - orderEntity.setCustomerId(authAdmin.getCustomerId() + ""); - orderEntity.setFromCorp(ioOrderMutiSetEntity.getFromCorp()); - orderEntity.setAction(bussinessTypeEntity.getAction()); - orderEntity.setMainAction(bussinessTypeEntity.getMainAction()); - orderEntity.setDeptCode(invWarehouseEntity.getParentId()); - orderEntity.setInvCode(invWarehouseEntity.getCode()); - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); - orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT); - orderEntity.setFromType(ConstantStatus.FROM_Muti); - orderEntity.setOrderType(ConstantStatus.ORDER_TYPE_NORMAL); - orderEntity.setBusType(bussinessTypeEntity.getBusType()); - //插入单据 - orderService.insertOrder(orderEntity); - - IoCodeTempEntity ioCodeTempEntity = new IoCodeTempEntity(); - ioCodeTempEntity.setCode(ioOrderMutiEntity.getUdiCode()); - ioCodeTempEntity.setMainAction(ConstantType.TYPE_OUT); - ioCodeTempEntity.setAction(bussinessTypeEntity.getAction()); - ioCodeTempEntity.setOrderId(orderNo); - ioCodeTempEntity.setNameCode(ioOrderMutiEntity.getNameCode()); - ioCodeTempEntity.setBatchNo(ioOrderMutiEntity.getBatchNo()); - ioCodeTempEntity.setProduceDate(ioOrderMutiEntity.getProduceDate()); - ioCodeTempEntity.setExpireDate(ioOrderMutiEntity.getExpireDate()); - ioCodeTempEntity.setSerialNo(ioOrderMutiEntity.getSerialNo()); - ioCodeTempEntity.setSupId(ioOrderMutiEntity.getSupId()); - ioCodeTempEntity.setRelId(Long.valueOf(ioOrderMutiEntity.getRelIdFk())); - ioCodeTempEntity.setCount(ioOrderMutiEntity.getTotalCount()); - ioCodeTempEntity.setReCount(ioOrderMutiEntity.getTotalCount() - ioOrderMutiEntity.getUseCount()); - ioCodeTempEntity.setCreateTime(new Date()); - ioCodeTempEntity.setUpdateTime(new Date()); - ioCodeTempEntity.setDeptCode(invWarehouseEntity.getParentId()); - ioCodeTempEntity.setInvCode(invWarehouseEntity.getCode()); - codeTempService.insert(ioCodeTempEntity); + orderNo=ioOrderMutiService.insterOrder(ioOrderMutiEntity,ioOrderMutiSetEntity); } @@ -288,7 +253,6 @@ public class IoOrderMutiController { ioOrderMutiEntity.setUpdateUser(customerService.getUserId() + ""); boolean falg = ioOrderMutiService.updateById(ioOrderMutiEntity); - System.out.println("22222222222222222222222"); QueryWrapper ew = new QueryWrapper<>(); ew.eq("mutiIdFk", ioOrderMutiEntity.getId()); List ioOrderMutiUseEntityList = ioOrderMutiUseService.list(ew); @@ -296,7 +260,6 @@ public class IoOrderMutiController { ioOrderMutiUseEntity.setStatus(1); } ioOrderMutiUseService.updateBatchById(ioOrderMutiUseEntityList); - System.out.println("33333333333333333333333"); if (falg) { return ResultVOUtils.success(); } else { diff --git a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java index 3c1998750..0667bd3d3 100644 --- a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java +++ b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java @@ -125,4 +125,7 @@ public interface UdiRelevanceDao extends BaseMapperPlus selectRelIdByName(@Param("productName") String productName); + + UdiRelevanceResponse selectOneUdi(FilterUdiRelRequest filterUdiRelRequest); + } diff --git a/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java b/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java index 24980fd0e..b7120143f 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java @@ -103,4 +103,6 @@ public interface UdiRelevanceService extends IService { * @return */ String getRelIdByUdiCode(String code); + + UdiRelevanceResponse selectOneUdi(FilterUdiRelRequest filterUdiRelRequest); } diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java index 8ab21f504..8ec824905 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java @@ -408,4 +408,10 @@ public class UdiRelevanceServiceImpl extends ServiceImpl{ List filterList(IoOrderMutiRequest ioOrderMutiRequest); + String insterOrder(IoOrderMutiEntity ioOrderMutiEntity, IoOrderMutiSetEntity ioOrderMutiSetEntity); + } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiServiceImpl.java index 53a90a7dc..4f4e856a5 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiServiceImpl.java @@ -1,24 +1,60 @@ package com.glxp.api.service.inout.impl; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.Constant; +import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.constant.ConstantType; +import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.auth.InvWarehouseEntity; +import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.inout.*; +import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.inout.IoOrderMutiRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.inout.IoOrderMutiResponse; import com.glxp.api.res.inout.IoOrderMutiSetResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.auth.InvWarehouseService; +import com.glxp.api.service.basic.IBasicBussinessTypeService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.inout.*; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.glxp.api.entity.inout.IoOrderMutiEntity; import com.glxp.api.dao.inout.IoOrderMutiMapper; -import com.glxp.api.service.inout.IoOrderMutiService; import javax.annotation.Resource; import java.util.Collections; +import java.util.Date; import java.util.List; @Service -public class IoOrderMutiServiceImpl extends ServiceImpl implements IoOrderMutiService{ +public class IoOrderMutiServiceImpl extends ServiceImpl implements IoOrderMutiService { @Resource private IoOrderMutiMapper ioOrderMutiMapper; + @Resource + private IoOrderService orderService; + @Resource + IoCodeTempService codeTempService; + @Resource + IBasicBussinessTypeService basicBussinessTypeService; + @Resource + InvWarehouseService invWarehouseService; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + IoOrderDetailCodeService ioOrderDetailCodeService; + @Resource + CustomerService customerService; + @Resource + GennerOrderUtils gennerOrderUtils; + @Resource + private IoOrderMutiSetService ioOrderMutiSetService; @Override public List filterList(IoOrderMutiRequest ioOrderMutiRequest) { @@ -29,7 +65,85 @@ public class IoOrderMutiServiceImpl extends ServiceImpl ioOrderMutiEntityList=ioOrderMutiMapper.filterList(ioOrderMutiRequest); + List ioOrderMutiEntityList = ioOrderMutiMapper.filterList(ioOrderMutiRequest); return ioOrderMutiEntityList; } + + @Override + public String insterOrder(IoOrderMutiEntity ioOrderMutiEntity, IoOrderMutiSetEntity ioOrderMutiSetEntity) { + + AuthAdmin authAdmin = customerService.getUserBean(); + IoOrderEntity orderEntity = new IoOrderEntity(); + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(ioOrderMutiSetEntity.getTargetAction()); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(ioOrderMutiSetEntity.getCurInv()); + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + orderEntity.setBillNo(orderNo); + orderEntity.setMainAction(ConstantType.TYPE_OUT); + orderEntity.setCreateUser(authAdmin.getId() + ""); + orderEntity.setCreateTime(new Date()); + orderEntity.setUpdateUser(authAdmin.getId() + ""); + orderEntity.setUpdateTime(new Date()); + orderEntity.setCustomerId(authAdmin.getCustomerId() + ""); + orderEntity.setFromCorp(ioOrderMutiSetEntity.getFromCorp()); + orderEntity.setAction(bussinessTypeEntity.getAction()); + orderEntity.setMainAction(bussinessTypeEntity.getMainAction()); + orderEntity.setDeptCode(invWarehouseEntity.getParentId()); + orderEntity.setInvCode(invWarehouseEntity.getCode()); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); + orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT); + orderEntity.setFromType(ConstantStatus.FROM_Muti); + orderEntity.setOrderType(ConstantStatus.ORDER_TYPE_NORMAL); + orderEntity.setBusType(bussinessTypeEntity.getBusType()); + //插入单据 + orderService.insertOrder(orderEntity); + + //插入扫码单 + IoOrderDetailCodeEntity ioOrderDetailCodeEntity = new IoOrderDetailCodeEntity(); + ioOrderDetailCodeEntity.setOrderIdFk(orderNo); + ioOrderDetailCodeEntity.setBindRlFk(Long.valueOf(ioOrderMutiEntity.getRelIdFk())); + //查询产品信息 + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setId(Long.valueOf(ioOrderMutiEntity.getRelIdFk())); + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectOneUdi(filterUdiRelRequest); + if (udiRelevanceResponse != null) { + ioOrderDetailCodeEntity.setUuidFk(udiRelevanceResponse.getUuid()); + ioOrderDetailCodeEntity.setNameCode(udiRelevanceResponse.getNameCode()); + ioOrderDetailCodeEntity.setCoName(udiRelevanceResponse.getCpmctymc()); + ioOrderDetailCodeEntity.setYlqxzcrbarmc(udiRelevanceResponse.getYlqxzcrbarmc()); + ioOrderDetailCodeEntity.setManufacturer(udiRelevanceResponse.getManufactory()); + ioOrderDetailCodeEntity.setMeasname(udiRelevanceResponse.getMeasname()); + ioOrderDetailCodeEntity.setSpec(udiRelevanceResponse.getGgxh()); + } + ioOrderDetailCodeEntity.setBatchNo(ioOrderMutiEntity.getBatchNo()); + ioOrderDetailCodeEntity.setProductDate(ioOrderMutiEntity.getProduceDate()); + ioOrderDetailCodeEntity.setExpireDate(ioOrderMutiEntity.getExpireDate()); + ioOrderDetailCodeEntity.setSupId(ioOrderMutiEntity.getSupId()); + ioOrderDetailCodeEntity.setCount(ioOrderMutiEntity.getTotalCount()); + ioOrderDetailCodeEntity.setReCount(ioOrderMutiEntity.getTotalCount()); + ioOrderDetailCodeEntity.setUpdateTime(new Date()); + ioOrderDetailCodeService.insert(ioOrderDetailCodeEntity); + + + IoCodeTempEntity ioCodeTempEntity = new IoCodeTempEntity(); + ioCodeTempEntity.setCode(ioOrderMutiEntity.getUdiCode()); + ioCodeTempEntity.setMainAction(ConstantType.TYPE_OUT); + ioCodeTempEntity.setAction(bussinessTypeEntity.getAction()); + ioCodeTempEntity.setOrderId(orderNo); + ioCodeTempEntity.setNameCode(ioOrderMutiEntity.getNameCode()); + ioCodeTempEntity.setBatchNo(ioOrderMutiEntity.getBatchNo()); + ioCodeTempEntity.setProduceDate(ioOrderMutiEntity.getProduceDate()); + ioCodeTempEntity.setExpireDate(ioOrderMutiEntity.getExpireDate()); + ioCodeTempEntity.setSerialNo(ioOrderMutiEntity.getSerialNo()); + ioCodeTempEntity.setSupId(ioOrderMutiEntity.getSupId()); + ioCodeTempEntity.setRelId(Long.valueOf(ioOrderMutiEntity.getRelIdFk())); + ioCodeTempEntity.setCount(ioOrderMutiEntity.getTotalCount()); + ioCodeTempEntity.setReCount(ioOrderMutiEntity.getTotalCount()); + ioCodeTempEntity.setCreateTime(new Date()); + ioCodeTempEntity.setUpdateTime(new Date()); + ioCodeTempEntity.setDeptCode(invWarehouseEntity.getParentId()); + ioCodeTempEntity.setInvCode(invWarehouseEntity.getCode()); + codeTempService.insert(ioCodeTempEntity); + + return orderNo; + } } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoStatMonthServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoStatMonthServiceImpl.java index b43a0443d..fcc55cd1a 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoStatMonthServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoStatMonthServiceImpl.java @@ -57,11 +57,7 @@ public class IoStatMonthServiceImpl implements IoStatMonthService { @Override public void statData(Date date) { DateTime lastMonth = DateUtil.offsetMonth(date,-1); - //汇总上一个月的数据 - SystemParamConfigEntity systemParamConfigEntity=systemParamConfigDao.selectByParamKey("date1"); - String y=systemParamConfigEntity.getParamValue(); - DateRequest dateRequest = getYearAndMonth(Integer.valueOf(y)); - DateRequest dateRequest1 = getfirstDayAndLastDay(dateRequest.getYear(), dateRequest.getMomth()); + DateRequest dateRequest1 = getfirstDayAndLastDay(lastMonth.year(), lastMonth.monthBaseOne()); List dataList = new ArrayList<>(); //查询单号 List orderIdFkList = new ArrayList<>(); @@ -96,22 +92,23 @@ public class IoStatMonthServiceImpl implements IoStatMonthService { } } }); - - - //汇总上一天存在上上一天不存在产品的汇总数据 - //获取上上天的数据 - DateTime twoDay = new DateTime(); - QueryWrapper ew = new QueryWrapper<>(); - ew.eq("year", twoDay.year()); - ew.eq("quarter", twoDay.quarter()); - ew.eq("month", twoDay.monthBaseOne()-2); - List ioStatMonthEntityList=statMonthDao.selectList(ew); - List newOrOldDate=getNewOrOldDate(dataList,ioStatMonthEntityList,lastMonth); - dataList.addAll(newOrOldDate); - - //插入汇总记录 - saveData(lastMonth, dataList); } + //汇总上一月存在上上个月不存在产品的汇总数据 + //获取上上天的数据 + QueryWrapper ew = new QueryWrapper<>(); + if (lastMonth.monthBaseOne() == 1) { + ew.eq("year", lastMonth.year() - 1) + .eq("month", 12); + } else { + ew.eq("year", lastMonth.year()) + .eq("month", lastMonth.monthBaseOne() - 1);//取上上月的数据 + } + List ioStatMonthEntityList=statMonthDao.selectList(ew); + List newOrOldDate=getNewOrOldDate(dataList,ioStatMonthEntityList,lastMonth); + dataList.addAll(newOrOldDate); + + //插入汇总记录 + saveData(lastMonth, dataList); } @Override @@ -308,20 +305,5 @@ public class IoStatMonthServiceImpl implements IoStatMonthService { return dateRequest; } - //获取指定的月份和年份 - private DateRequest getYearAndMonth(int lastNum) { - - Calendar calendar = Calendar.getInstance(); - int year = calendar.get(Calendar.YEAR); // 获取当前年份 - int month = calendar.get(Calendar.MONTH) + 1 - lastNum; - if (month < 1) { // 如果当前是一月份,则上一个月份是去年 12 月 - year--; - month = 12 - month; - } - DateRequest dateRequest = new DateRequest(); - dateRequest.setYear(year); - dateRequest.setMomth(month); - return dateRequest; - } } diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 57c4498f1..dade4df0c 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -1302,4 +1302,70 @@ + + + + +