多次出库bug修改

pro
郑明梁 2 years ago
parent 7893940cc6
commit 02a17df71a

@ -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<IoOrderMutiSetEntity> 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<IoOrderMutiUseEntity> ew = new QueryWrapper<>();
ew.eq("mutiIdFk", ioOrderMutiEntity.getId());
List<IoOrderMutiUseEntity> 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 {

@ -125,4 +125,7 @@ public interface UdiRelevanceDao extends BaseMapperPlus<UdiRelevanceDao, UdiRele
* @return
*/
List<String> selectRelIdByName(@Param("productName") String productName);
UdiRelevanceResponse selectOneUdi(FilterUdiRelRequest filterUdiRelRequest);
}

@ -103,4 +103,6 @@ public interface UdiRelevanceService extends IService<UdiRelevanceEntity> {
* @return
*/
String getRelIdByUdiCode(String code);
UdiRelevanceResponse selectOneUdi(FilterUdiRelRequest filterUdiRelRequest);
}

@ -408,4 +408,10 @@ public class UdiRelevanceServiceImpl extends ServiceImpl<UdiRelevanceDao, UdiRel
UdiEntity udi = FilterUdiUtils.getUdi(code);
return udiRelevanceDao.selectRelIdByNameCode(udi.getUdi());
}
@Override
public UdiRelevanceResponse selectOneUdi(FilterUdiRelRequest filterUdiRelRequest) {
return udiRelevanceDao.selectOneUdi(filterUdiRelRequest);
}
}

@ -2,6 +2,7 @@ package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderMutiEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.inout.IoOrderMutiSetEntity;
import com.glxp.api.req.inout.IoOrderMutiRequest;
import com.glxp.api.res.inout.IoOrderMutiResponse;
@ -11,4 +12,6 @@ public interface IoOrderMutiService extends IService<IoOrderMutiEntity>{
List<IoOrderMutiResponse> filterList(IoOrderMutiRequest ioOrderMutiRequest);
String insterOrder(IoOrderMutiEntity ioOrderMutiEntity, IoOrderMutiSetEntity ioOrderMutiSetEntity);
}

@ -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<IoOrderMutiMapper, IoOrderMutiEntity> implements IoOrderMutiService{
public class IoOrderMutiServiceImpl extends ServiceImpl<IoOrderMutiMapper, IoOrderMutiEntity> 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<IoOrderMutiResponse> filterList(IoOrderMutiRequest ioOrderMutiRequest) {
@ -29,7 +65,85 @@ public class IoOrderMutiServiceImpl extends ServiceImpl<IoOrderMutiMapper, IoOrd
int offset = (ioOrderMutiRequest.getPage() - 1) * ioOrderMutiRequest.getLimit();
PageHelper.offsetPage(offset, ioOrderMutiRequest.getLimit());
}
List<IoOrderMutiResponse> ioOrderMutiEntityList=ioOrderMutiMapper.filterList(ioOrderMutiRequest);
List<IoOrderMutiResponse> 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;
}
}

@ -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<IoStatMonthEntity> dataList = new ArrayList<>();
//查询单号
List<String> orderIdFkList = new ArrayList<>();
@ -96,15 +92,17 @@ public class IoStatMonthServiceImpl implements IoStatMonthService {
}
}
});
//汇总上一天存在上上一天不存在产品的汇总数据
}
//汇总上一月存在上上个月不存在产品的汇总数据
//获取上上天的数据
DateTime twoDay = new DateTime();
QueryWrapper<IoStatMonthEntity> ew = new QueryWrapper<>();
ew.eq("year", twoDay.year());
ew.eq("quarter", twoDay.quarter());
ew.eq("month", twoDay.monthBaseOne()-2);
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<IoStatMonthEntity> ioStatMonthEntityList=statMonthDao.selectList(ew);
List<IoStatMonthEntity> newOrOldDate=getNewOrOldDate(dataList,ioStatMonthEntityList,lastMonth);
dataList.addAll(newOrOldDate);
@ -112,7 +110,6 @@ public class IoStatMonthServiceImpl implements IoStatMonthService {
//插入汇总记录
saveData(lastMonth, dataList);
}
}
@Override
public List<IoStatMonthEntity> filterList(FilterStatDataDetailRequest statDataDetailRequest) {
@ -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;
}
}

@ -1302,4 +1302,70 @@
</if>
</where>
</select>
<select id="selectOneUdi" resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.allowNoSerial,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
basic_products.basicPrductRemak1,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
<where>
<if test="id != '' and id != null">
AND basic_udirel.id = #{id}
</if>
</where>
limit 1
</select>
</mapper>

Loading…
Cancel
Save