diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index d4393b91e..b4bb61ed0 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -706,6 +706,8 @@ public class IoCodeTempController extends BaseController { String unitFk = null; if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { unitFk = addOrderRequest.getFromCorp(); + } else if (StrUtil.isNotEmpty(addOrderRequest.getSelectSupId())) { + unitFk = addOrderRequest.getSelectSupId(); } //产品是否可以以使用单元入库 udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode(), false); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index d284917f7..5b7b007be 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -24,6 +24,7 @@ import com.glxp.api.req.inout.*; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inout.PdaBusOrderResponse; import com.glxp.api.service.auth.InvBusUserService; @@ -40,6 +41,7 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -135,6 +137,21 @@ public class IoOrderController extends BaseController { filterOrderRequest.setFromCorp(customerId); } List list = orderService.getfilterList(filterOrderRequest); + for (IoOrderResponse ioOrderResponse : list) { + FilterOrderDetailCodeRequest filterOrderDetailCodeRequest = new FilterOrderDetailCodeRequest(); + filterOrderDetailCodeRequest.setOrderIdFk(ioOrderResponse.getBillNo()); + List ioOrderDetailCodeResponses = orderDetailBizService.getfilterList(filterOrderDetailCodeRequest); + BigDecimal amount=new BigDecimal(0.00); + for (IoOrderDetailCodeResponse ioOrderDetailCodeRespons : ioOrderDetailCodeResponses) { + if(ioOrderDetailCodeRespons.getCount() != 0) { + amount = amount.add(new BigDecimal(ioOrderDetailCodeRespons.getCount()).multiply(ioOrderDetailCodeRespons.getPrice())); + } + } + ioOrderResponse.setAllAmount(amount); + + + } + PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index 7ad5fb87b..2b3d3a476 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -27,14 +27,12 @@ import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; import com.glxp.api.entity.thrsys.ThrOrderEntity; import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; -import com.glxp.api.req.inout.AddBizProductReqeust; -import com.glxp.api.req.inout.BizBindUpdateRequest; -import com.glxp.api.req.inout.FilterOrderDetailBizRequest; -import com.glxp.api.req.inout.IoOrderInvoiceRequest; +import com.glxp.api.req.inout.*; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderInvoiceResponse; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.*; @@ -56,6 +54,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -510,14 +509,14 @@ public class IoOrderDetailBizController extends BaseController { return ResultVOUtils.page(pageInfo); } - @GetMapping("/udiwms/inout/bizDetail/filterListInv") - public BaseResponse filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest) { - List list = orderDetailBizService.getfilterList(orderDetailBizRequest); - List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderDetailBizRequest.getOrderIdFk()); - ioCheckInoutService.bizOrderCheck2(list, orderDetailCodeEntities); - PageInfo pageInfo = new PageInfo<>(list); - return ResultVOUtils.page(pageInfo); - } +// @GetMapping("/udiwms/inout/bizDetail/filterListInv") +// public BaseResponse filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest) { +// List list = orderDetailBizService.getfilterList(orderDetailBizRequest); +// List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderDetailBizRequest.getOrderIdFk()); +// ioCheckInoutService.bizOrderCheck2(list, orderDetailCodeEntities); +// PageInfo pageInfo = new PageInfo<>(list); +// return ResultVOUtils.page(pageInfo); +// } @GetMapping("/udiwms/inout/bizDetail/filterListInvoice") public BaseResponse filterListInvoice(FilterOrderDetailBizRequest orderDetailBizRequest) { @@ -556,9 +555,9 @@ public class IoOrderDetailBizController extends BaseController { @Log(title = "发票管理", businessType = BusinessType.DELETE) public BaseResponse deleteById(@RequestBody IoOrderInvoiceEntity ioOrderInvoiceEntity) { - ioOrderInvoiceService.deleteByInvId(ioOrderInvoiceEntity.getId().longValue()); + ioOrderInvoiceService.deleteByInvId(ioOrderInvoiceEntity.getId()+""); //更改 登记状态 - IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); + IoOrderDetailCodeEntity ioOrderDetailBizEntity = new IoOrderDetailCodeEntity(); FilterOrderDetailBizRequest filterOrderDetailBizRequest = new FilterOrderDetailBizRequest(); @@ -572,7 +571,7 @@ public class IoOrderDetailBizController extends BaseController { if (list == null && list.size() == 0) { ioOrderDetailBizEntity.setRegStatus(false); } - orderDetailBizService.updateOrderDetailBiz(ioOrderDetailBizEntity); + orderDetailCodeService.updateOrderDetailBiz(ioOrderDetailBizEntity); return ResultVOUtils.success(); @@ -596,29 +595,38 @@ public class IoOrderDetailBizController extends BaseController { @PostMapping("/udiwms/inout/biz/insertInvoice") @Log(title = "发票管理", businessType = BusinessType.INSERT) - public BaseResponse insertInvoice(@RequestBody IoOrderDetailBizEntity ioOrderDetailBizEntity) { - - IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); - ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizEntity.getOrderIdFk()); - ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailBizEntity.getBindRlFk() + ""); - ioOrderInvoiceEntity.setBatchNo(ioOrderDetailBizEntity.getBatchNo()); - ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate()); - ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate()); - ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId()); - ioOrderInvoiceEntity.setCreateTime(new Date()); - ioOrderInvoiceEntity.setUpdateTime(new Date()); - ioOrderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); - boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity); - + public BaseResponse insertInvoice(@RequestBody IoOrderInvoiceEntity ioOrderInvoice) { + + for (IoOrderDetailBizEntity ioOrderDetailBizEntity : ioOrderInvoice.getList()) { + IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); + ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizEntity.getOrderIdFk()); + ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailBizEntity.getBindRlFk() + ""); + ioOrderInvoiceEntity.setBatchNo(ioOrderDetailBizEntity.getBatchNo()); + ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate()); + ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate()); + ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId()); + ioOrderInvoiceEntity.setCreateTime(new Date()); + ioOrderInvoiceEntity.setUpdateTime(new Date()); + ioOrderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); + ioOrderInvoiceEntity.setMachineNo(ioOrderInvoice.getMachineNo()); + ioOrderInvoiceEntity.setInvoiceCode(ioOrderInvoice.getInvoiceCode()); + ioOrderInvoiceEntity.setInvoiceEncode(ioOrderInvoice.getInvoiceEncode()); + ioOrderInvoiceEntity.setInvoiceDate(ioOrderInvoice.getInvoiceDate()); + ioOrderInvoiceEntity.setPrice(ioOrderInvoice.getPrice()); + ioOrderInvoiceEntity.setRemark(ioOrderInvoice.getRemark()); + ioOrderInvoiceEntity.setLicenseUrl(ioOrderInvoice.getLicenseUrl()); + boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity); + } return ResultVOUtils.success("成功"); } @PostMapping("/udiwms/inout/biz/updateorderBiz") - public BaseResponse updateorderBiz(@RequestBody IoOrderDetailBizEntity ioOrderDetailBizEntity) { - ioOrderDetailBizEntity.setRegStatus(true); - orderDetailBizService.updateOrderDetailBiz(ioOrderDetailBizEntity); - + public BaseResponse updateorderBiz(@RequestBody List list) { + for (IoOrderDetailCodeEntity ioOrderDetailBizEntity : list) { + ioOrderDetailBizEntity.setRegStatus(true); + orderDetailCodeService.updateOrderDetailBiz(ioOrderDetailBizEntity); + } return ResultVOUtils.success("成功"); } @@ -630,25 +638,28 @@ public class IoOrderDetailBizController extends BaseController { * @return */ @GetMapping("/udiwms/inout/bizDetail/filterBizOrderList") - public BaseResponse filterBizOrderList(FilterOrderDetailBizRequest orderDetailBizRequest) { - List list = orderDetailBizService.filterList(orderDetailBizRequest); - for (IoOrderDetailBizResponse ioOrderDetailBizResponse : list) { + public BaseResponse filterBizOrderList(FilterOrderDetailCodeRequest orderDetailBizRequest) { + List ioOrderDetailCodeResponses = orderDetailBizService.getfilterList(orderDetailBizRequest); + for (IoOrderDetailCodeResponse ioOrderDetailCodeRespons : ioOrderDetailCodeResponses) { + ioOrderDetailCodeRespons.setAmount(new BigDecimal(ioOrderDetailCodeRespons.getCount()).multiply(ioOrderDetailCodeRespons.getPrice())); String msg = ""; IoOrderInvoiceRequest ioOrderInvoiceEntity = new IoOrderInvoiceRequest(); - ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizResponse.getOrderIdFk()); + ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailCodeRespons.getOrderIdFk()); + ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailCodeRespons.getId()); List ioOrderInvoiceEntityList = ioOrderInvoiceService.selectOrderInvoice(ioOrderInvoiceEntity); for (IoOrderInvoiceEntity obj : ioOrderInvoiceEntityList) { - if (StrUtil.isNotEmpty(obj.getInvoiceCode())) { - msg += "," + obj.getInvoiceCode(); + if (StrUtil.isNotEmpty(obj.getInvoiceEncode())) { + msg += "," + obj.getInvoiceEncode(); } } if (msg.length() > 1) { msg = msg.substring(1); } - ioOrderDetailBizResponse.setInvoiceCodes(msg); + ioOrderDetailCodeRespons.setInvoiceCodes(msg); } - PageInfo pageInfo = new PageInfo<>(list); + PageInfo pageInfo = new PageInfo<>(ioOrderDetailCodeResponses); return ResultVOUtils.page(pageInfo); } } + diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java index 71ee8ba3a..4df72efea 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.inout; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.glxp.api.annotation.AuthRuleAnnotation; @@ -11,10 +12,7 @@ import com.glxp.api.dao.inout.IoOrderInvoiceMapper; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.idc.service.FileService; -import com.glxp.api.req.inout.AddBizProductReqeust; import com.glxp.api.req.inout.RefreshInoiceRequest; -import com.glxp.api.service.inout.IoOrderInvoiceService; -import com.glxp.api.service.inout.IoOrderService; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -36,9 +34,9 @@ public class IoOrderInvoiceController { @PostMapping("/udiwms/inout/order/refrshInvoice") @Log(title = "发票", businessType = BusinessType.INSERT) public BaseResponse addBizProduct(@RequestBody RefreshInoiceRequest refreshInoiceRequest) { - BaseResponse> baseResponse = spGetHttpClient.getIoOrderInvoices(refreshInoiceRequest); + BaseResponse baseResponse = spGetHttpClient.getIoOrderInvoices(refreshInoiceRequest); if (baseResponse.getCode() == 20000) { - List orderInvoiceEntities = baseResponse.getData(); + List orderInvoiceEntities = BeanUtil.toBean(baseResponse.getData(),List.class); if (CollUtil.isNotEmpty(orderInvoiceEntities)) { List syncFiles = new ArrayList<>(); for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { diff --git a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java index a904b35ca..d879b7a03 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java @@ -65,6 +65,35 @@ public class InvPlaceController { return invPlaceService.bindInvSpace(bindInvSpaceRequest); } + /** + * 绑定货位接口 + * + * @param bindInvSpaceRequest + * @return + */ + @PostMapping("/spms/inv/product/bindInvOrderSpace") + public BaseResponse bindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { + if (null == bindInvSpaceRequest) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return invPlaceService.bindInvOrderSpace(bindInvSpaceRequest); + } + + + /** + * 变更货位绑定货位接口 + * + * @param bindInvSpaceRequest + * @return + */ + @PostMapping("/spms/inv/product/bindCheckInvSpace") + public BaseResponse bindCheckInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { + if (null == bindInvSpaceRequest) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return invPlaceService.bindInvSpace(bindInvSpaceRequest); + } + /** * 更换货位接口 @@ -95,7 +124,7 @@ public class InvPlaceController { } /** - * 查询库存产品信息 + * 按物资 * * @param bindInvSpaceRequest * @return @@ -114,6 +143,38 @@ public class InvPlaceController { } + + + /** + * 按单号 + * + * @param bindInvSpaceRequest + * @return + */ + @GetMapping("/spms/inv/product/getInvProductOrderInfo") + private BaseResponse getInvProductOrderInfo(BindInvSpaceRequest bindInvSpaceRequest) { + return invPlaceOrderService.bindInvSpaceAll(bindInvSpaceRequest); + } + + /** + * 变更货位 + * + * @param bindInvSpaceRequest + * @return + */ + @GetMapping("/spms/inv/product/getCheckInvProductInfo") + private BaseResponse getCheckInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) { + //判断有没有库存 + String msg=invPlaceService.checkCount(bindInvSpaceRequest); + if(StrUtil.isEmpty(msg)){ + //有库存做插入货位号 + return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest); + }else{ + return ResultVOUtils.error(500, msg); + } + + } + /** * 从库存详情查询单据列表 * diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailBizDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailBizDao.java index 18688e93a..2d5cceb18 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailBizDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailBizDao.java @@ -3,7 +3,9 @@ package com.glxp.api.dao.inout; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.req.inout.FilterOrderDetailBizRequest; +import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderInvoiceResponse; import org.apache.ibatis.annotations.Param; @@ -19,7 +21,7 @@ public interface IoOrderDetailBizDao extends BaseMapperPlus filterList(FilterOrderDetailBizRequest orderDetailBizRequest); - List getfilterList(FilterOrderDetailBizRequest orderDetailBizRequest); + List getfilterList(FilterOrderDetailCodeRequest orderDetailBizRequest); List filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest); diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java index 56e838673..36bb9008f 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java @@ -191,5 +191,9 @@ public class IoOrderDetailCodeEntity { @TableField(exist = false) private String errMsg; + @TableField(value = "regStatus") + private boolean regStatus; + + } diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java index ee51d82d1..8d844e300 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.util.Date; +import java.util.List; @Data @TableName(value = "io_order_invoice") @@ -108,6 +109,11 @@ public class IoOrderInvoiceEntity { @TableField(exist = false) private Integer regId; + + @TableField(exist = false) + private List list; + + public static final String COL_ID = "id"; public static final String COL_ORDERIDFK = "orderIdFk"; diff --git a/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java index 5690fe4b3..b465b09a1 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java @@ -87,20 +87,20 @@ public class InvPreInProductDetailEntity { * 扫码数量 */ @TableField(value = "`count`") - private int count; + private Integer count; /** * 实际数量 */ @TableField(value = "reCount") - private int reCount; + private Integer reCount; @TableField(value = "inCount") - private int inCount; + private Integer inCount; @TableField(value = "outCount") - private int outCount; + private Integer outCount; /** diff --git a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java index 3fb84dd79..2f9705993 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -1,8 +1,6 @@ package com.glxp.api.http.sync; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; -import cn.hutool.core.util.ArrayUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; @@ -11,7 +9,6 @@ import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BasicExportTypeEnum; import com.glxp.api.entity.basic.ProductInfoEntity; import com.glxp.api.entity.inout.IoOrderEntity; -import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.IOOrderStatusEntity; import com.glxp.api.entity.system.SyncDataSetEntity; @@ -139,11 +136,11 @@ public class SpGetHttpClient { } - public BaseResponse> getIoOrderInvoices(RefreshInoiceRequest refreshInoiceRequest) { + public BaseResponse getIoOrderInvoices(RefreshInoiceRequest refreshInoiceRequest) { String json = JSONUtil.toJsonStr(refreshInoiceRequest); String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/inout/order/refrshInvoice", json, buildHeader()); - BaseResponse> response = - JSONObject.parseObject(result, new TypeReference>>() { + BaseResponse response = + JSONObject.parseObject(result, new TypeReference() { }); return response; } diff --git a/src/main/java/com/glxp/api/idc/service/IdcService.java b/src/main/java/com/glxp/api/idc/service/IdcService.java index 67ebe23ac..d135a909e 100644 --- a/src/main/java/com/glxp/api/idc/service/IdcService.java +++ b/src/main/java/com/glxp/api/idc/service/IdcService.java @@ -39,4 +39,6 @@ public interface IdcService { BaseResponse onceSync(String tableName,boolean isUpload); boolean signleDownloadFile(String syncIp, String fileName); + + boolean batchDownloadFile(String syncIp, String[] files); } diff --git a/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java b/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java index 6a5f60703..829e03966 100644 --- a/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java +++ b/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java @@ -1145,7 +1145,7 @@ public class IdcServiceImpl implements IdcService { } /*下载文件*/ - private boolean batchDownloadFile(String syncIp, String[] files) { + public boolean batchDownloadFile(String syncIp, String[] files) { boolean success = true; for (String fileName : files) { if (!StringUtils.isEmpty(fileName)) { diff --git a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java index fd859af6d..2cc5f3e42 100644 --- a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java @@ -28,6 +28,7 @@ public class AddOrderRequest { private Integer orderType; private String remark; private String checkPreInOrders; + private String selectSupId; // 预验收货位 private String checkPreInSpaceCode; diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailCodeRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailCodeRequest.java index 979802219..6e5d2edbe 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailCodeRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailCodeRequest.java @@ -8,6 +8,7 @@ import lombok.Data; */ @Data public class FilterOrderDetailCodeRequest extends ListPageRequest { + private Long relId; /** * 单据号 @@ -39,4 +40,6 @@ public class FilterOrderDetailCodeRequest extends ListPageRequest { */ private String productName; + private Long bizIdFk; + } diff --git a/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java b/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java index 07ee07cc3..bb5fbe3ac 100644 --- a/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java +++ b/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java @@ -1,15 +1,8 @@ package com.glxp.api.req.inout; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.glxp.api.entity.inout.IoOrderDetailResultEntity; -import com.glxp.api.entity.inout.IoOrderInvoiceEntity; -import com.glxp.api.entity.purchase.SupCertSetEntity; import lombok.Data; import java.util.Date; -import java.util.List; /** * @author : zhangsan @@ -67,7 +60,7 @@ public class IoOrderInvoiceRequest { private String remark; - private Long bizIdFk; + private Integer bizIdFk; public static final String COL_ID = "id"; diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvPlaceOrderRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvPlaceOrderRequest.java index 1a460fab4..7a444e1c6 100644 --- a/src/main/java/com/glxp/api/req/inv/FilterInvPlaceOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inv/FilterInvPlaceOrderRequest.java @@ -4,7 +4,7 @@ import com.glxp.api.util.page.ListPageRequest; import lombok.Data; /** - * 物资上架记录接口查询参数 + * 库存摆放接口参数 */ @Data public class FilterInvPlaceOrderRequest extends ListPageRequest { @@ -29,4 +29,13 @@ public class FilterInvPlaceOrderRequest extends ListPageRequest { private String zczbhhzbapzbh; + + private Long relId; + private String supId; + private String produceDate; + private String expireDate; + private String serialNo; + private int count; + + } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java index fc0540815..453033d0f 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java @@ -1,6 +1,5 @@ package com.glxp.api.res.inout; -import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import java.math.BigDecimal; @@ -162,4 +161,13 @@ public class IoOrderDetailCodeResponse { private int orderCount; + private String invoiceCodes; + + private Integer sucCount; + + private boolean regStatus; + + //金额 + private BigDecimal amount; + } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index 25fef7231..c8055b82d 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -3,6 +3,7 @@ package com.glxp.api.res.inout; import cn.hutool.core.util.StrUtil; import lombok.Data; +import java.math.BigDecimal; import java.util.Date; @Data @@ -220,9 +221,16 @@ public class IoOrderResponse { private Integer processStatus; private int inCodeStatus; + private Integer allCout; + + private Integer partCount; + private Date checkTime; private String checkUserName; + //总金额 + private BigDecimal allAmount; + /** * 校验信息 diff --git a/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java b/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java index 77ce9bedb..d549c103d 100644 --- a/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java +++ b/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java @@ -41,7 +41,7 @@ public class BindInvSpaceRequest { private String code; /** - * 上架方式 1:按物资上架 2:按单上架 + * 上架方式 1:按物资上架 2:按单上架 3:变更货位 */ private Integer type; @@ -50,6 +50,8 @@ public class BindInvSpaceRequest { */ private String orderId; + private String oId; + private String changeSpaceCode; diff --git a/src/main/java/com/glxp/api/res/sync/SpsSyncBasicDataResponse.java b/src/main/java/com/glxp/api/res/sync/SpsSyncBasicDataResponse.java index 8f3badf37..401ee7ee7 100644 --- a/src/main/java/com/glxp/api/res/sync/SpsSyncBasicDataResponse.java +++ b/src/main/java/com/glxp/api/res/sync/SpsSyncBasicDataResponse.java @@ -20,4 +20,5 @@ public class SpsSyncBasicDataResponse extends BaseSyncResponse { List supCompanyList; List supManufacturerList; List supProductList; + List syncFiles; } diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java index 6d4f95b87..24892f3c8 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java @@ -2,7 +2,9 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.req.inout.FilterOrderDetailBizRequest; +import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderInvoiceResponse; import java.util.List; @@ -35,7 +37,7 @@ public interface IoOrderDetailBizService { List filterList(FilterOrderDetailBizRequest orderDetailBizRequest); - List getfilterList(FilterOrderDetailBizRequest orderDetailBizRequest); + List getfilterList(FilterOrderDetailCodeRequest orderDetailBizRequest); IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo, String bindRlFk); diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java index 72d4379be..cc6c8f5dd 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java @@ -3,7 +3,6 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; -import org.apache.ibatis.annotations.Param; import java.util.List; @@ -49,4 +48,7 @@ public interface IoOrderDetailCodeService { * @return */ List getDetailCodeResponse(List orderEntityList); + + Boolean updateOrderDetailBiz(IoOrderDetailCodeEntity orderDetailCodeEntity); + } diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java b/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java index af84f1db2..8abe993ec 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java @@ -1,7 +1,6 @@ package com.glxp.api.service.inout; import com.baomidou.mybatisplus.extension.service.IService; -import com.glxp.api.entity.inout.IoCodeRelEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.req.inout.IoOrderInvoiceRequest; @@ -12,7 +11,7 @@ public interface IoOrderInvoiceService extends IService { List findByBillNo(String billNo); - boolean deleteByInvId(Long id); + boolean deleteByInvId(String id); boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest); diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java index 50467d3b7..f3f285c4b 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java @@ -10,7 +10,9 @@ import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.req.inout.FilterOrderDetailBizRequest; +import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderInvoiceResponse; import com.glxp.api.service.inout.IoCheckInoutService; import com.glxp.api.service.inout.IoOrderDetailBizService; @@ -116,14 +118,14 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { } @Override - public List getfilterList(FilterOrderDetailBizRequest orderDetailBizRequest) { - if (null == orderDetailBizRequest) { + public List getfilterList(FilterOrderDetailCodeRequest OrderDetailCodeRequest) { + if (null == OrderDetailCodeRequest) { return Collections.emptyList(); } - if (null != orderDetailBizRequest.getPage() && null != orderDetailBizRequest.getLimit()) { - PageHelper.offsetPage((orderDetailBizRequest.getPage() - 1) * orderDetailBizRequest.getLimit(), orderDetailBizRequest.getLimit()); + if (null != OrderDetailCodeRequest.getPage() && null != OrderDetailCodeRequest.getLimit()) { + PageHelper.offsetPage((OrderDetailCodeRequest.getPage() - 1) * OrderDetailCodeRequest.getLimit(), OrderDetailCodeRequest.getLimit()); } - return ioOrderDetailBizDao.getfilterList(orderDetailBizRequest); + return ioOrderDetailBizDao.getfilterList(OrderDetailCodeRequest); } @Override diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java index 273072469..80f1163df 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java @@ -118,4 +118,10 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { } return list; } + + @Override + public Boolean updateOrderDetailBiz(IoOrderDetailCodeEntity orderDetailCodeEntity) { + return ioOrderDetailCodeDao.updateById(orderDetailCodeEntity)>0; + } + } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java index 9a9c85126..70a3a206a 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java @@ -2,15 +2,12 @@ package com.glxp.api.service.inout.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.glxp.api.dao.inout.IoCodeRelMapper; import com.glxp.api.dao.inout.IoOrderInvoiceMapper; -import com.glxp.api.entity.inout.IoCodeRelEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.req.inout.IoOrderInvoiceRequest; +import com.glxp.api.service.inout.IoOrderInvoiceService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; - -import com.glxp.api.service.inout.IoOrderInvoiceService; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -30,7 +27,7 @@ public class IoOrderInvoiceServiceImpl extends ServiceImpl 0; } diff --git a/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java b/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java index 85b645161..42f5abd70 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java @@ -24,6 +24,9 @@ public interface InvPlaceOrderService { //单条绑定货位 BaseResponse bindInvSpaceOne(BindInvSpaceRequest bindInvSpaceRequest); + //批量绑定货位 + BaseResponse bindInvSpaceAll(BindInvSpaceRequest bindInvSpaceRequest); + List filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest); } diff --git a/src/main/java/com/glxp/api/service/inv/InvPlaceService.java b/src/main/java/com/glxp/api/service/inv/InvPlaceService.java index e42751e78..44358651c 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPlaceService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPlaceService.java @@ -29,6 +29,13 @@ public interface InvPlaceService { */ BaseResponse bindInvSpace(BindInvSpaceRequest bindInvSpaceRequest); + /** + * 绑定货位 + * + * @param bindInvSpaceRequest + */ + BaseResponse bindInvOrderSpace(BindInvSpaceRequest bindInvSpaceRequest); + /** * 更换货位 diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java index a18dd2411..913172bf7 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java @@ -30,6 +30,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.Date; import java.util.List; @@ -128,6 +129,9 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("code", bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + } ew.last("limit 1"); InvPreInProductDetailEntity invPreInProductDetailEntity = invPreInProductDetailDao.selectOne(ew); relId = invPreInProductDetailEntity.getRelId(); @@ -140,6 +144,9 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("code", bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + } ew.last("limit 1"); InvPreProductDetailEntity invPreInProductDetailEntity = invPreProductDetailDao.selectOne(ew); relId = invPreInProductDetailEntity.getRelId(); @@ -152,6 +159,9 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("code", bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + } ew.last("limit 1"); InvProductDetailEntity invPreInProductDetailEntity = invProductDetailDao.selectOne(ew); relId = invPreInProductDetailEntity.getRelId(); @@ -187,13 +197,17 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); invPlaceOrderDetailEntity.setRecordId(recordId); invPlaceOrderDetailEntity.setBatchNo(batchNo); - invPlaceOrderDetailEntity.setRelId(relId+""); + invPlaceOrderDetailEntity.setRelId(relId + ""); invPlaceOrderDetailEntity.setNameCode(nameCode); invPlaceOrderDetailEntity.setExpireDate(expireDate); invPlaceOrderDetailEntity.setProduceDate(produceDate); invPlaceOrderDetailEntity.setSupId(supId); invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); - invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + if(bindInvSpaceRequest.getType()==3){ + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getChangeSpaceCode()); + }else{ + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + } invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode()); invPlaceOrderDetailEntity.setSerialNo(serialNo); invPlaceOrderDetailEntity.setCount(1); @@ -215,12 +229,16 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDetailEntity.setRecordId(bindInvSpaceRequest.getOrderId()); invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); invPlaceOrderDetailEntity.setBatchNo(batchNo); - invPlaceOrderDetailEntity.setRelId(relId+""); + invPlaceOrderDetailEntity.setRelId(relId + ""); invPlaceOrderDetailEntity.setNameCode(nameCode); invPlaceOrderDetailEntity.setExpireDate(expireDate); invPlaceOrderDetailEntity.setProduceDate(produceDate); invPlaceOrderDetailEntity.setSupId(supId); - invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + if(bindInvSpaceRequest.getType()==3){ + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getChangeSpaceCode()); + }else{ + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + } invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode()); invPlaceOrderDetailEntity.setCount(1); invPlaceOrderDetailEntity.setSerialNo(serialNo); @@ -232,6 +250,131 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { return ResultVOUtils.success(recordId); } + @Override + public BaseResponse bindInvSpaceAll(BindInvSpaceRequest bindInvSpaceRequest) { + + List filterInvPlaceOrderRequestList = new ArrayList<>(); + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper().eq("code", bindInvSpaceRequest.getInvCode())); + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("orderId", bindInvSpaceRequest.getOId()); + ew.eq("mainAction", "WareHouseIn"); + List invPreInProductDetailEntityList = invPreInProductDetailDao.selectList(ew); + if (invPreInProductDetailEntityList.size() == 0) { + return ResultVOUtils.error(999, "该单号不存在可以上架产品!"); + } + for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntityList) { + FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest(); + filterInvPlaceOrderRequest.setBatchNo(invPreInProductDetailEntity.getBatchNo()); + filterInvPlaceOrderRequest.setCount(invPreInProductDetailEntity.getReCount()); + filterInvPlaceOrderRequest.setExpireDate(invPreInProductDetailEntity.getExpireDate()); + filterInvPlaceOrderRequest.setRelId(invPreInProductDetailEntity.getRelId()); + filterInvPlaceOrderRequest.setNameCode(invPreInProductDetailEntity.getNameCode()); + filterInvPlaceOrderRequest.setSerialNo(invPreInProductDetailEntity.getSerialNo()); + filterInvPlaceOrderRequest.setProduceDate(invPreInProductDetailEntity.getProduceDate()); + filterInvPlaceOrderRequest.setSupId(invPreInProductDetailEntity.getSupId()); + filterInvPlaceOrderRequest.setCode(invPreInProductDetailEntity.getCode()); + filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest); + } + + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("orderId", bindInvSpaceRequest.getOId()); + ew.eq("mainAction", "WareHouseIn"); + List invPreProductDetailEntityList = invPreProductDetailDao.selectList(ew); + for (InvPreProductDetailEntity invPreProductDetailEntity : invPreProductDetailEntityList) { + FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest(); + filterInvPlaceOrderRequest.setBatchNo(invPreProductDetailEntity.getBatchNo()); + filterInvPlaceOrderRequest.setExpireDate(invPreProductDetailEntity.getExpireDate()); + filterInvPlaceOrderRequest.setRelId(invPreProductDetailEntity.getRelId()); + filterInvPlaceOrderRequest.setNameCode(invPreProductDetailEntity.getNameCode()); + filterInvPlaceOrderRequest.setSerialNo(invPreProductDetailEntity.getSerialNo()); + filterInvPlaceOrderRequest.setProduceDate(invPreProductDetailEntity.getProduceDate()); + filterInvPlaceOrderRequest.setCount(invPreProductDetailEntity.getReCount()); + filterInvPlaceOrderRequest.setSupId(invPreProductDetailEntity.getSupId()); + filterInvPlaceOrderRequest.setCode(invPreProductDetailEntity.getCode()); + filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest); + } + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("orderId", bindInvSpaceRequest.getOId()); + ew.eq("mainAction", "WareHouseIn"); + List invProductDetailEntityList = invProductDetailDao.selectList(ew); + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntityList) { + FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest(); + filterInvPlaceOrderRequest.setBatchNo(invProductDetailEntity.getBatchNo()); + filterInvPlaceOrderRequest.setExpireDate(invProductDetailEntity.getExpireDate()); + filterInvPlaceOrderRequest.setRelId(invProductDetailEntity.getRelId()); + filterInvPlaceOrderRequest.setNameCode(invProductDetailEntity.getNameCode()); + filterInvPlaceOrderRequest.setCount(invProductDetailEntity.getReCount()); + filterInvPlaceOrderRequest.setSerialNo(invProductDetailEntity.getSerialNo()); + filterInvPlaceOrderRequest.setProduceDate(invProductDetailEntity.getProduceDate()); + filterInvPlaceOrderRequest.setSupId(invProductDetailEntity.getSupId()); + filterInvPlaceOrderRequest.setCode(invProductDetailEntity.getCode()); + filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest); + } + } + + + //判断是不是第一次进行添加 是就插入一条主表 + String recordId = ""; + if (StrUtil.isEmpty(bindInvSpaceRequest.getOrderId())) { + //操作人ID + String userId = customerService.getUserIdStr(); + + recordId = gennerOrderUtils.createInvPlaceOrderNo(new OrderNoTypeBean(Constant.INV_PLACE_ORDER, "yyyyMMdd")); + InvPlaceOrderEntity orderEntity = new InvPlaceOrderEntity(); + orderEntity.setId(IdUtil.getSnowflakeNextId()); + orderEntity.setRecordId(recordId); + orderEntity.setType(2); + orderEntity.setOrderId(bindInvSpaceRequest.getOId()); + orderEntity.setCreateUser(userId); + orderEntity.setCreateTime(new Date()); + orderEntity.setUpdateTime(new Date()); + invPlaceOrderDao.insert(orderEntity); + //插入附表 + for (FilterInvPlaceOrderRequest filterInvPlaceOrderRequest : filterInvPlaceOrderRequestList) { + InvPlaceOrderDetailEntity invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); + invPlaceOrderDetailEntity.setRecordId(recordId); + invPlaceOrderDetailEntity.setBatchNo(filterInvPlaceOrderRequest.getBatchNo()); + invPlaceOrderDetailEntity.setCode(filterInvPlaceOrderRequest.getCode()); + invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId()+""); + invPlaceOrderDetailEntity.setNameCode(filterInvPlaceOrderRequest.getNameCode()); + invPlaceOrderDetailEntity.setExpireDate(filterInvPlaceOrderRequest.getExpireDate()); + invPlaceOrderDetailEntity.setProduceDate(filterInvPlaceOrderRequest.getProduceDate()); + invPlaceOrderDetailEntity.setSupId(filterInvPlaceOrderRequest.getSupId()); + invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invPlaceOrderDetailEntity.setSerialNo(filterInvPlaceOrderRequest.getSerialNo()); + invPlaceOrderDetailEntity.setCount(filterInvPlaceOrderRequest.getCount()); + invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity); + } + } else { + //插入附表 + for (FilterInvPlaceOrderRequest filterInvPlaceOrderRequest : filterInvPlaceOrderRequestList) { + InvPlaceOrderDetailEntity invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); + invPlaceOrderDetailEntity.setRecordId(recordId); + invPlaceOrderDetailEntity.setCode(filterInvPlaceOrderRequest.getCode()); + invPlaceOrderDetailEntity.setBatchNo(filterInvPlaceOrderRequest.getBatchNo()); + invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId()+""); + invPlaceOrderDetailEntity.setNameCode(filterInvPlaceOrderRequest.getNameCode()); + invPlaceOrderDetailEntity.setExpireDate(filterInvPlaceOrderRequest.getExpireDate()); + invPlaceOrderDetailEntity.setProduceDate(filterInvPlaceOrderRequest.getProduceDate()); + invPlaceOrderDetailEntity.setSupId(filterInvPlaceOrderRequest.getSupId()); + invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invPlaceOrderDetailEntity.setSerialNo(filterInvPlaceOrderRequest.getSerialNo()); + invPlaceOrderDetailEntity.setCount(filterInvPlaceOrderRequest.getCount()); + invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity); + } + } + + + return ResultVOUtils.success(recordId); + } + @Override public List filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) { if (null == filterInvPlaceOrderRequest) { diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java index a34a29ba6..364c7f176 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java @@ -83,7 +83,6 @@ public class InvPlaceServiceImpl implements InvPlaceService { // String deptCode = invWarehouseDao.selectParentIdByCode(bindInvSpaceRequest.getInvCode()); InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterGroupInvSubAndcode(bindInvSpaceRequest.getInvCode()); List invPlaceOrderDetailEntityList=new ArrayList<>(); - if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) { @@ -91,11 +90,20 @@ public class InvPlaceServiceImpl implements InvPlaceService { for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) { //拆解库存表 QueryWrapper ew=new QueryWrapper<>(); - ew.eq("code",invPlaceOrderDetailEntity.getCode()); - ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode","")); - ew.gt("inCount",0); - ew.last("limit 1"); - InvPreInProductDetailEntity invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew); + InvPreInProductDetailEntity invPreInProductDetailEntity=new InvPreInProductDetailEntity(); + if(bindInvSpaceRequest.getType()==3){ + ew.eq("code",invPlaceOrderDetailEntity.getCode()); + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + ew.last("limit 1"); + invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew); + }else{ + ew.eq("code",invPlaceOrderDetailEntity.getCode()); + ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode","")); + ew.gt("inCount",0); + ew.last("limit 1"); + invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew); + } + if(invPreInProductDetailEntity.getInCount()>0){ String nameCode=invPreInProductDetailEntity.getNameCode(); @@ -108,7 +116,12 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.clear(); ew.eq("code",invPlaceOrderDetailEntity.getCode()); - ew.eq("invSpaceCode",invPlaceOrderDetailEntity.getInvSpaceCode()); + if(bindInvSpaceRequest.getType()==3){ + ew.eq("invSpaceCode",bindInvSpaceRequest.getChangeSpaceCode()); + }else{ + ew.eq("invSpaceCode",invPlaceOrderDetailEntity.getInvSpaceCode()); + } + InvPreInProductDetailEntity invPreInProductDetailEntity1=invPreInProductDetailDao.selectOne(ew); if(invPreInProductDetailEntity1!=null){ @@ -122,7 +135,11 @@ public class InvPlaceServiceImpl implements InvPlaceService { invPreInProductDetailEntity.setCount(1); invPreInProductDetailEntity.setReCount(reCount); invPreInProductDetailEntity.setOutCount(0); - invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode()); + if (bindInvSpaceRequest.getType()==3){ + invPreInProductDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getChangeSpaceCode()); + }else{ + invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode()); + } invPreInProductDetailDao.insert(invPreInProductDetailEntity); } } @@ -260,6 +277,51 @@ public class InvPlaceServiceImpl implements InvPlaceService { return ResultVOUtils.success(); } + + @Override + public BaseResponse bindInvOrderSpace(BindInvSpaceRequest bindInvSpaceRequest) { + //查询仓库的部门ID +// String deptCode = invWarehouseDao.selectParentIdByCode(bindInvSpaceRequest.getInvCode()); + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterGroupInvSubAndcode(bindInvSpaceRequest.getInvCode()); + List invPlaceOrderDetailEntityList=new ArrayList<>(); + + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderId",bindInvSpaceRequest.getOId()); + InvPreInProductDetailEntity invPreInProductDetailEntity=new InvPreInProductDetailEntity(); + invPreInProductDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invPreInProductDetailDao.update(invPreInProductDetailEntity,ew); + + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + + invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderId",bindInvSpaceRequest.getOId()); + InvPreProductDetailEntity invPreProductDetailEntity=new InvPreProductDetailEntity(); + invPreProductDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invPreProductDetailDao.update(invPreProductDetailEntity,ew); + + + } else { + invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderId",bindInvSpaceRequest.getOId()); + InvProductDetailEntity invProductDetailEntity=new InvProductDetailEntity(); + invProductDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invProductDetailDao.update(invProductDetailEntity,ew); + + } + int total = invPlaceOrderDetailEntityList.stream().mapToInt(InvPlaceOrderDetailEntity::getCount).sum(); + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("recordId",bindInvSpaceRequest.getOrderId()); + InvPlaceOrderEntity invPlaceOrderEntity=new InvPlaceOrderEntity(); + invPlaceOrderEntity.setRecordId(bindInvSpaceRequest.getOrderId()); + invPlaceOrderEntity.setCount(total); + invPlaceOrderDao.update(invPlaceOrderEntity,ew); + return ResultVOUtils.success(); + } + @Override public BaseResponse changeInvSpace(BindInvSpaceRequest bindInvSpaceRequest) { //查询仓库的部门ID @@ -387,8 +449,17 @@ public class InvPlaceServiceImpl implements InvPlaceService { @Override public String checkCount(BindInvSpaceRequest bindInvSpaceRequest) { InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper().eq("code", bindInvSpaceRequest.getInvCode())); + Integer count=0; if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { - Integer count = invPreInProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("code",bindInvSpaceRequest.getCode()); + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + InvPreInProductDetailEntity invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew); + count=invPreInProductDetailEntity.getInCount(); + }else{ + count = invPreInProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + } if(count==null || count<=0){ return "该产品库存不足!"; } @@ -397,12 +468,25 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("recordId",bindInvSpaceRequest.getOrderId()); ew.eq("code",bindInvSpaceRequest.getCode()); InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew); + if(invPlaceOrderDetailEntity==null){ + invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity.setCount(0); + } if(invPlaceOrderDetailEntity.getCount()>=count){ return "该产品库存不足!"; } } } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { - Integer count = invPreProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("code",bindInvSpaceRequest.getCode()); + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + InvPreProductDetailEntity invPreProductDetailEntity=invPreProductDetailDao.selectOne(ew); + count=invPreProductDetailEntity.getInCount(); + }else{ + count = invPreProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + } + if(count==null || count<=0){ return "该产品库存不足!"; } @@ -411,12 +495,25 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("recordId",bindInvSpaceRequest.getOrderId()); ew.eq("code",bindInvSpaceRequest.getCode()); InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew); + if(invPlaceOrderDetailEntity==null){ + invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity.setCount(0); + } if(invPlaceOrderDetailEntity.getCount()>=count){ return "该产品库存不足!"; } } } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL){ - Integer count = invProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("code",bindInvSpaceRequest.getCode()); + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + InvProductDetailEntity invProductDetailEntity=invProductDetailDao.selectOne(ew); + count=invProductDetailEntity.getInCount(); + }else{ + count = invProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + } + if(count==null || count<=0){ return "该产品库存不足!"; } @@ -425,6 +522,10 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("recordId",bindInvSpaceRequest.getOrderId()); ew.eq("code",bindInvSpaceRequest.getCode()); InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew); + if(invPlaceOrderDetailEntity==null){ + invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity.setCount(0); + } if(invPlaceOrderDetailEntity.getCount()>=count){ return "该产品库存不足!"; } diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index bf3e6b721..1c1840d96 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONArray; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; @@ -30,6 +31,7 @@ import com.glxp.api.entity.system.*; import com.glxp.api.entity.thrsys.*; import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.idc.service.FileService; +import com.glxp.api.idc.service.IdcService; import com.glxp.api.req.sync.SpsSyncDataRequest; import com.glxp.api.res.sync.*; import com.glxp.api.service.auth.*; @@ -241,14 +243,14 @@ public class HeartService { String taskId = CustomUtil.getId(); switch (exportType) { case BASIC_DATA: - if (needExec(info.getBasicProducts(), info.getBasicCorp(), info.getSupCert())) { - uploadData(exportType, taskId, x -> x.getBasicData(info, taskId, now, syncTime)); - } +// if (needExec(info.getBasicProducts(), info.getBasicCorp(), info.getSupCert())) { +// uploadData(exportType, taskId, x -> x.getBasicData(info, taskId, now, syncTime)); +// } break; case OTHER_DATA: - if (needExec(info.getUdiCodeLost(), info.getUdiCodeRel())) { - uploadData(exportType, taskId, x -> x.getOtherData(info, taskId, now, syncTime)); - } +// if (needExec(info.getUdiCodeLost(), info.getUdiCodeRel())) { +// uploadData(exportType, taskId, x -> x.getOtherData(info, taskId, now, syncTime)); +// } break; case DOCUMENT_TYPE_DATA: if (needExec(info.getTypeBus(), info.getTypeScan(), info.getTypeThird())) { @@ -1370,6 +1372,8 @@ public class HeartService { }); if (response.getCode() == 20000 && response.getData() != null) { + + JSONArray fileJson = JSONUtil.parseObj(response.getData()).getJSONArray("files"); SpsSyncOrderResponse syncDataResponse = JSONObject.parseObject(response.getData(), new TypeReference() { }); BasicDownloadStatusEntity basicDownloadStatusEntity = new BasicDownloadStatusEntity(); @@ -1404,7 +1408,12 @@ public class HeartService { } } } - + if (fileJson != null&&fileJson.size()>0) { + List syncFiles = fileJson.toList(String.class); + if (CollUtil.isNotEmpty(syncFiles)) { + idcService.batchDownloadFile(spGetHttp.getIpUrl(), syncFiles.toArray(new String[syncFiles.size()])); + } + } } catch (Exception e) { e.printStackTrace(); } @@ -1527,7 +1536,7 @@ public class HeartService { */ @Transactional(rollbackFor = Exception.class) public void pullData(BasicExportTypeEnum exportType) { - switch (exportType){ + switch (exportType) { case IO_ORDER: case COUNTRY_DI_DATA: return; @@ -1638,13 +1647,14 @@ public class HeartService { supProductDao.replaceBatch(supProductList); } if (CollUtil.isNotEmpty(syncFiles)) { - fileService.download(syncFiles); - +// fileService.download(syncFiles); + idcService.batchDownloadFile(spGetHttp.getIpUrl(), syncFiles.toArray(new String[syncFiles.size()])); } } @Resource FileService fileService; + private final IdcService idcService; private final IoCodeLostMapper ioCodeLostMapper; private final IoCodeRelMapper ioCodeRelMapper; diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index 0ae322d40..7e8845684 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -150,11 +150,11 @@ (select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName, (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName, (select name from basic_corp bc where bc.erpId = io.customerId) customerName, - (SELECT count(*) FROM io_order_detail_biz WHERE io_order_detail_biz.orderIdFk = io.billNo - and io_order_detail_biz.regStatus = 1 + (SELECT count(*) FROM io_order_detail_code WHERE io_order_detail_code.orderIdFk = io.billNo + and io_order_detail_code.regStatus = 1 ) AS allCout, - (SELECT count(*) FROM io_order_detail_biz WHERE io_order_detail_biz.orderIdFk = io.billNo - and io_order_detail_biz.regStatus = 0 + (SELECT count(*) FROM io_order_detail_code WHERE io_order_detail_code.orderIdFk = io.billNo + and io_order_detail_code.regStatus = 0 ) As partCount from io_order as io diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml index 9ff77d100..8326b5d0a 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml @@ -24,11 +24,13 @@ - + select io_order_detail_code.*, + (select count(*) + FROM io_order_invoice + where io_order_invoice.orderIdFk = io_order_detail_code.orderIdFk) as sucCount + from io_order_detail_code + left join basic_udirel bu on bu.id = io_order_detail_code.bindRlFk left join basic_products bp on bu.uuid = bp.uuid @@ -44,7 +46,7 @@ AND bp.cpmctymc like concat('%', #{productName}, '%') - group by io_order_detail_biz.id + group by io_order_detail_code.id