Merge remote-tracking branch 'origin/dev_fifo_z' into dev_fifo_z

workplace
wangwei 11 months ago
commit 00bde6626c

@ -1047,17 +1047,17 @@ public class IoCodeTempController extends BaseController {
genDetaiEntity.setCount(1); genDetaiEntity.setCount(1);
if (bussinessTypeEntity.isUse()) { if (bussinessTypeEntity.isUse()) {
genDetaiEntity.setReCount( udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0))); genDetaiEntity.setReCount(udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0)));
} else { } else {
genDetaiEntity.setReCount( udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); genDetaiEntity.setReCount(udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0)));
} }
exitLocalEntity.setCount(exitLocalEntity.getMyCount() + 1); exitLocalEntity.setCount(exitLocalEntity.getMyCount() + 1);
if (bussinessTypeEntity.isUse()) { if (bussinessTypeEntity.isUse()) {
exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0))); exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0)));
} else { } else {
exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0)));
} }
if (!StringUtils.isBlank(exitLocalEntity.getSerialNo())) { if (!StringUtils.isBlank(exitLocalEntity.getSerialNo())) {
@ -1188,9 +1188,9 @@ public class IoCodeTempController extends BaseController {
//计算实际数量 //计算实际数量
if (bussinessTypeEntity.isUse()) { if (bussinessTypeEntity.isUse()) {
codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getUseActCount(udiRelevanceResponse)); codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0)));
} else { } else {
codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponse)); codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0)));
} }
} else if (udiRelevanceResponses.size() == 0) { } else if (udiRelevanceResponses.size() == 0) {
if (unitFk == null) if (unitFk == null)

@ -28,4 +28,6 @@ public class CollectOrderCodeManRequest extends ListPageRequest {
private Long updateUser; private Long updateUser;
private Long bizIdFk;
} }

@ -40,6 +40,11 @@ public class BasicCollectBustypeService extends ServiceImpl<BasicCollectBustypeM
return basicCollectBustypeMapper.selectOne(new LambdaQueryWrapper<BasicCollectBustypeEntity>().eq(BasicCollectBustypeEntity::getCode, code).last("limit 1 ")); return basicCollectBustypeMapper.selectOne(new LambdaQueryWrapper<BasicCollectBustypeEntity>().eq(BasicCollectBustypeEntity::getCode, code).last("limit 1 "));
} }
public BasicCollectBustypeEntity findByFromCode(String code) {
return basicCollectBustypeMapper.selectOne(new LambdaQueryWrapper<BasicCollectBustypeEntity>().eq(BasicCollectBustypeEntity::getFromBusTypeCode, code).last("limit 1 "));
}
public BasicCollectBustypeEntity findByAddr(String addr) { public BasicCollectBustypeEntity findByAddr(String addr) {
return basicCollectBustypeMapper.selectOne(new LambdaQueryWrapper<BasicCollectBustypeEntity>().eq(BasicCollectBustypeEntity::getFromInterAddress, addr).last("limit 1 ")); return basicCollectBustypeMapper.selectOne(new LambdaQueryWrapper<BasicCollectBustypeEntity>().eq(BasicCollectBustypeEntity::getFromInterAddress, addr).last("limit 1 "));
} }

@ -34,6 +34,9 @@ public class SysWorkplaceDocumentService extends ServiceImpl<SysWorkplaceDocumen
return list; return list;
} }
public SysWorkplaceDocumentEntity findByBusType(String busType) {
return sysWorkplaceDocumentDao.selectOne(new LambdaQueryWrapper<SysWorkplaceDocumentEntity>().eq(SysWorkplaceDocumentEntity::getDocumentTypeCode, busType).last("limit 1"));
}
public SysWorkplaceDocumentEntity findByWorkplaceCode(Long workplaceCode, String busType) { public SysWorkplaceDocumentEntity findByWorkplaceCode(Long workplaceCode, String busType) {
return sysWorkplaceDocumentDao.selectOne(new LambdaQueryWrapper<SysWorkplaceDocumentEntity>() return sysWorkplaceDocumentDao.selectOne(new LambdaQueryWrapper<SysWorkplaceDocumentEntity>()

@ -97,6 +97,9 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
String userIds = customerService.getUserId() + ""; String userIds = customerService.getUserId() + "";
SysWorkplace workPlace = sysWorkPlaceService.getWorkplace(addTagCodeReqeust.getWorkPlaceCode()); SysWorkplace workPlace = sysWorkPlaceService.getWorkplace(addTagCodeReqeust.getWorkPlaceCode());
if (workPlace == null) throw new JsonException(500, "请先选择工位"); if (workPlace == null) throw new JsonException(500, "请先选择工位");
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByWorkplaceCode(workPlace.getWorkplaceId(), addTagCodeReqeust.getBusType());
IoCollectOrderBiz collectOrderBiz = null; IoCollectOrderBiz collectOrderBiz = null;
IoCollectOrder collectOrder = null; IoCollectOrder collectOrder = null;
@ -116,11 +119,9 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo()); List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo());
//2.校验是否处方单UDI码 //2.校验是否处方单UDI码
if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_GEN_ORDER) { if (IntUtil.value(sysWorkplaceDocumentEntity.getScanType()) == WorkOperType.TYPE_GEN_ORDER) {
if (StrUtil.isEmpty(addTagCodeReqeust.getBillNo())) { if (StrUtil.isEmpty(addTagCodeReqeust.getBillNo())) {
String orderNo = gennerOrderUtils.createWdOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")); String orderNo = gennerOrderUtils.createWdOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"));
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByWorkplaceCode(workPlace.getWorkplaceId(), addTagCodeReqeust.getBusType());
collectOrder = IoCollectOrder.builder() collectOrder = IoCollectOrder.builder()
.billNo(orderNo) .billNo(orderNo)
.busType(sysWorkplaceDocumentEntity.getDocumentTypeCode()) .busType(sysWorkplaceDocumentEntity.getDocumentTypeCode())
@ -147,7 +148,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity); collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo()); collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
collectOrderBizService.saveOrUpdate(collectOrderBiz); collectOrderBizService.saveOrUpdate(collectOrderBiz);
} else if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_VAIL_BATCH) { } else if (IntUtil.value(sysWorkplaceDocumentEntity.getScanType()) == WorkOperType.TYPE_VAIL_BATCH) {
collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo()); collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo());
if (collectOrder == null) if (collectOrder == null)
throw new JsonException(500, "单据不存在!"); throw new JsonException(500, "单据不存在!");
@ -160,7 +161,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
collectOrderBiz = vailByBatchNo(udiRelevanceResponses, collectOrderBizs, udiEntity); collectOrderBiz = vailByBatchNo(udiRelevanceResponses, collectOrderBizs, udiEntity);
switch (workPlace.getCheckInsert()) { switch (sysWorkplaceDocumentEntity.getCheckInsert()) {
case 1: //插入 case 1: //插入
if (collectOrderBiz == null) { if (collectOrderBiz == null) {
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity); collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
@ -203,7 +204,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
} }
} else if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_UNVAIL_BATCH) { } else if (IntUtil.value(sysWorkplaceDocumentEntity.getScanType()) == WorkOperType.TYPE_UNVAIL_BATCH) {
collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo()); collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo());
if (collectOrder == null) if (collectOrder == null)
throw new JsonException(500, "单据不存在!"); throw new JsonException(500, "单据不存在!");
@ -215,7 +216,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
//按单不校验三期 //按单不校验三期
collectOrderBiz = vailNoBatchNo(udiRelevanceResponses, collectOrderBizs, udiEntity); collectOrderBiz = vailNoBatchNo(udiRelevanceResponses, collectOrderBizs, udiEntity);
switch (workPlace.getCheckInsert()) { switch (sysWorkplaceDocumentEntity.getCheckInsert()) {
case 1: //插入 case 1: //插入
if (collectOrderBiz == null) { if (collectOrderBiz == null) {
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity); collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);

@ -137,8 +137,6 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
public void importUdi() { public void importUdi() {
//下载UDI内部单据 //下载UDI内部单据
FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
// filterOrderRequest.setPage(1);
// filterOrderRequest.setLimit(1000);
filterOrderRequest.setStatus(7); filterOrderRequest.setStatus(7);
filterOrderRequest.setProductType(null); filterOrderRequest.setProductType(null);
List<IoOrderResponse> list = orderService.filterList(filterOrderRequest); List<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
@ -151,9 +149,11 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
// BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(ioOrderEntity.getAction()); // BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(ioOrderEntity.getAction());
// if (collectBustypeEntity == null) // if (collectBustypeEntity == null)
// continue; // continue;
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction());
if (sysWorkplaceDocumentEntity == null)
continue;
List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(ioOrderEntity.getAction()); List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(ioOrderEntity.getAction());
//自动分配工位 //自动分配工位
final Long[] defaultWorkplace = {null}; final Long[] defaultWorkplace = {null};
if (CollUtil.isNotEmpty(sysWorkplaces)) { if (CollUtil.isNotEmpty(sysWorkplaces)) {
@ -240,15 +240,19 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
List<IoCollectOrder> collectOrderList = new ArrayList<>(); List<IoCollectOrder> collectOrderList = new ArrayList<>();
for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) { for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) {
BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByCode(String.valueOf(basicSkPrescribeEntity.getAddr())); // BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByFromCode(String.valueOf(basicSkPrescribeEntity.getAddr()));
if (collectBustypeEntity == null) // if (collectBustypeEntity == null)
continue; // continue;
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, basicSkPrescribeEntity.getCode()))) { if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, basicSkPrescribeEntity.getCode()))) {
continue; continue;
} }
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(basicSkPrescribeEntity.getAddr());
if (sysWorkplaceDocumentEntity == null)
continue;
//自动分配工位 //自动分配工位
final Long[] defaultWorkplace = {null}; final Long[] defaultWorkplace = {null};
List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode()); List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(basicSkPrescribeEntity.getAddr());
if (CollUtil.isNotEmpty(sysWorkplaces)) { if (CollUtil.isNotEmpty(sysWorkplaces)) {
if (sysWorkplaces.size() == 1) { if (sysWorkplaces.size() == 1) {
defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId(); defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId();
@ -276,8 +280,8 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
IoCollectOrder collectOrder = IoCollectOrder.builder() IoCollectOrder collectOrder = IoCollectOrder.builder()
.billNo(basicSkPrescribeEntity.getCode()) .billNo(basicSkPrescribeEntity.getCode())
.busType(collectBustypeEntity.getCode()) .busType(sysWorkplaceDocumentEntity.getDocumentTypeCode())
.fromType(collectBustypeEntity.getFromType()) .fromType("HIS系统")
.fromCorp(basicSkPrescribeEntity.getSickerCode()) .fromCorp(basicSkPrescribeEntity.getSickerCode())
.workPlaceCode(defaultWorkplace[0]) .workPlaceCode(defaultWorkplace[0])
.billTime(MsDateUtil.localToDate(basicSkPrescribeEntity.getCreateTime())) .billTime(MsDateUtil.localToDate(basicSkPrescribeEntity.getCreateTime()))
@ -350,10 +354,23 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
IoCollectOrderBiz bizServiceOne = collectOrderBizService.getOne(new LambdaQueryWrapper<IoCollectOrderBiz>() IoCollectOrderBiz bizServiceOne = collectOrderBizService.getOne(new LambdaQueryWrapper<IoCollectOrderBiz>()
.eq(IoCollectOrderBiz::getId, bizIdFk)); .eq(IoCollectOrderBiz::getId, bizIdFk));
if (bizServiceOne == null) throw new JsonException("扫码详情未查找到"); if (bizServiceOne == null) throw new JsonException("扫码详情未查找到");
//反差单据类型 查看是否来源业务单
String orderIdFk = bizServiceOne.getOrderIdFk();
IoCollectOrder ioCollectOrder = collectOrderMapper.selectOne(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, orderIdFk));
if (ioCollectOrder == null) throw new JsonException("反差单据失败");
String busType = ioCollectOrder.getBusType();
Long workPlaceCode = ioCollectOrder.getWorkPlaceCode();
SysWorkplaceDocumentEntity byWorkplaceCode = sysWorkplaceDocumentService.findByWorkplaceCode(workPlaceCode, busType);
if (byWorkplaceCode == null) throw new JsonException("反差工位单据类型失败");
Integer scanType = byWorkplaceCode.getScanType();
Integer oneScanCount = bizServiceOne.getScanCount(); Integer oneScanCount = bizServiceOne.getScanCount();
Integer newCount = oneScanCount - delCount; Integer newCount = oneScanCount - delCount;
bizServiceOne.setScanCount(newCount); if (scanType == 1 && newCount <= 0){
collectOrderBizService.updateById(bizServiceOne); collectOrderBizService.removeById(bizServiceOne);
}else {
bizServiceOne.setScanCount(newCount);
collectOrderBizService.updateById(bizServiceOne);
}
} }
} }

@ -1253,7 +1253,7 @@ public class IoCheckInoutService {
BeanUtils.copyProperties(codeEntity, splitCodeEntity); BeanUtils.copyProperties(codeEntity, splitCodeEntity);
splitCodeEntity.setInBactchNo(codeEntity.getInBatchNo()); splitCodeEntity.setInBactchNo(codeEntity.getInBatchNo());
splitCodeEntity.setScanCount(codeEntity.getCount()); splitCodeEntity.setScanCount(codeEntity.getCount());
ioSplitFifoCodeEntity.setTotalCount(ioSplitFifoCodeEntity.getTotalCount() + codeEntity.getReCount()); splitCodeEntity.setTotalCount(IntUtil.value(splitCodeEntity.getTotalCount()) + codeEntity.getReCount());
splitCodeEntity.setSupId(Long.parseLong(codeEntity.getSupId())); splitCodeEntity.setSupId(Long.parseLong(codeEntity.getSupId()));
splitCodeEntity.setWorkPlaceCode(orderEntity.getWorkPlaceCode()); splitCodeEntity.setWorkPlaceCode(orderEntity.getWorkPlaceCode());
splitCodeEntity.setFifoSplit(codeEntity.getFifoSplit()); splitCodeEntity.setFifoSplit(codeEntity.getFifoSplit());

@ -4,16 +4,17 @@
<select id="filterList" parameterType="com.glxp.api.req.collect.CollectOrderCodeAutoRequest" <select id="filterList" parameterType="com.glxp.api.req.collect.CollectOrderCodeAutoRequest"
resultType="com.glxp.api.res.collect.CollectOrderCodeAutoResponse"> resultType="com.glxp.api.res.collect.CollectOrderCodeAutoResponse">
SELECT icoca.*, SELECT icoca.*,
bp.nameCode, bp.nameCode,
bp.cpmctymc, bp.cpmctymc,
bp.ggxh, COALESCE(bp.ggxh, bp.bzgg) AS ggxh,
bp.zczbhhzbapzbh, bp.bzgg,
bp.manufactory bp.zczbhhzbapzbh,
bp.manufactory
FROM io_collect_order_code_auto icoca FROM io_collect_order_code_auto icoca
left join io_split_code isc left join io_split_code isc
on icoca.codeIdFk = isc.id on icoca.codeIdFk = isc.id
left join basic_udirel bu on icoca.relId = bu.id left join basic_udirel bu on icoca.relId = bu.id
left join basic_products bp on bu.uuid = bp.uuid left join basic_products bp on bu.uuid = bp.uuid
<where> <where>
<if test="codeIdFk != '' and codeIdFk != null"> <if test="codeIdFk != '' and codeIdFk != null">
AND icoca.codeIdFk = #{codeIdFk} AND icoca.codeIdFk = #{codeIdFk}

@ -4,13 +4,14 @@
<select id="filterList" parameterType="com.glxp.api.req.collect.CollectOrderCodeManRequest" <select id="filterList" parameterType="com.glxp.api.req.collect.CollectOrderCodeManRequest"
resultType="com.glxp.api.res.collect.CollectOrderCodeManResponse"> resultType="com.glxp.api.res.collect.CollectOrderCodeManResponse">
SELECT icocm.*, SELECT icocm.*,
bp.cpmctymc, bp.cpmctymc,
bp.ggxh, COALESCE(bp.ggxh, bp.bzgg) AS ggxh,
bp.zczbhhzbapzbh, bp.bzgg,
bp.manufactory bp.zczbhhzbapzbh,
bp.manufactory
FROM io_collect_order_code_man icocm FROM io_collect_order_code_man icocm
left join basic_udirel bu on icocm.relId = bu.id left join basic_udirel bu on icocm.relId = bu.id
left join basic_products bp on bu.uuid = bp.uuid left join basic_products bp on bu.uuid = bp.uuid
<where> <where>
<if test="orderIdFk != '' and orderIdFk != null"> <if test="orderIdFk != '' and orderIdFk != null">
AND icocm.orderIdFk = #{orderIdFk} AND icocm.orderIdFk = #{orderIdFk}
@ -21,6 +22,9 @@
<if test="relId != null"> <if test="relId != null">
AND icocm.relId = #{relId} AND icocm.relId = #{relId}
</if> </if>
<if test="bizIdFk != null">
AND icocm.bizIdFk = #{bizIdFk}
</if>
</where> </where>
</select> </select>
</mapper> </mapper>

@ -41,7 +41,7 @@
AND tagStatus = #{tagStatus} AND tagStatus = #{tagStatus}
</if> </if>
<if test="workPlaceCode != null "> <if test="workPlaceCode != null ">
AND workPlaceCode = #{workPlaceCode} AND ico.workPlaceCode = #{workPlaceCode}
</if> </if>
<if test="tagStatusList != null and tagStatusList.size() > 0"> <if test="tagStatusList != null and tagStatusList.size() > 0">
and tagStatus in and tagStatus in

Loading…
Cancel
Save