From b8cfcdcac6724e685403231162fb1896465a7705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Mon, 20 Mar 2023 01:47:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E6=94=B6=E4=BB=98=E6=AC=BE=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=AF=B9=E4=BE=9B=E5=BA=94=E5=95=86=E5=92=8C=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E6=9C=9F=E5=88=9D=E6=94=B6=E6=AC=BE=E7=9A=84=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/AccountItemController.java | 7 ++- .../erp/controller/DepotHeadController.java | 9 ++- .../erp/controller/SupplierController.java | 24 ++++++++ .../mappers/AccountItemMapperEx.java | 2 + .../datasource/mappers/DepotHeadMapperEx.java | 14 +++++ .../service/depotHead/DepotHeadService.java | 23 +++++++- .../erp/service/supplier/SupplierService.java | 30 ++++++++-- .../mapper_xml/AccountHeadMapperEx.xml | 18 ++++-- .../mapper_xml/AccountItemMapperEx.xml | 9 +++ .../mapper_xml/DepotHeadMapperEx.xml | 57 +++++++++++++++++++ 10 files changed, 181 insertions(+), 12 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/AccountItemController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/AccountItemController.java index f309809b..a96086b3 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/AccountItemController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/AccountItemController.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.jsh.erp.datasource.vo.AccountItemVo4List; import com.jsh.erp.service.accountItem.AccountItemService; import com.jsh.erp.utils.BaseResponseInfo; +import com.jsh.erp.utils.StringUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -55,7 +56,11 @@ public class AccountItemController { item.put("accountName", ai.getAccountName()); item.put("inOutItemId", ai.getInOutItemId()); item.put("inOutItemName", ai.getInOutItemName()); - item.put("billNumber", ai.getBillNumber()); + if(StringUtil.isNotEmpty(ai.getBillNumber())) { + item.put("billNumber", ai.getBillNumber()); + } else { + item.put("billNumber", "QiChu"); + } item.put("needDebt", ai.getNeedDebt()); item.put("finishDebt", ai.getFinishDebt()); BigDecimal eachAmount = ai.getEachAmount(); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java index 0309777b..3b4188e4 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java @@ -512,6 +512,8 @@ public class DepotHeadController { @GetMapping(value = "/debtList") @ApiOperation(value = "查询存在欠款的单据") public String debtList(@RequestParam(value = Constants.SEARCH, required = false) String search, + @RequestParam("currentPage") Integer currentPage, + @RequestParam("pageSize") Integer pageSize, HttpServletRequest request)throws Exception { Map objectMap = new HashMap<>(); String organIdStr = StringUtil.getInfo(search, "organId"); @@ -524,12 +526,17 @@ public class DepotHeadController { String subType = StringUtil.getInfo(search, "subType"); String roleType = StringUtil.getInfo(search, "roleType"); String status = StringUtil.getInfo(search, "status"); - List list = depotHeadService.debtList(organId, materialParam, number, beginTime, endTime, type, subType, roleType, status); + List list = depotHeadService.debtList(organId, materialParam, number, beginTime, endTime, type, + subType, roleType, status, (currentPage-1)*pageSize, pageSize); + int total = depotHeadService.debtListCount(organId, materialParam, number, beginTime, endTime, type, + subType, roleType, status); if (list != null) { objectMap.put("rows", list); + objectMap.put("total", total); return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); } else { objectMap.put("rows", new ArrayList<>()); + objectMap.put("total", 0); return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); } } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/SupplierController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/SupplierController.java index 05d8d107..3506544c 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/SupplierController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/SupplierController.java @@ -277,6 +277,30 @@ public class SupplierController { return arr; } + /** + * 根据客户或供应商查询期初、期初已收等信息 + * @param organId + * @param request + * @return + * @throws Exception + */ + @GetMapping(value = "/getBeginNeedByOrganId") + @ApiOperation(value = "根据客户或供应商查询期初、期初已收等信息") + public BaseResponseInfo getBeginNeedByOrganId(@RequestParam("organId") Long organId, + HttpServletRequest request)throws Exception { + BaseResponseInfo res = new BaseResponseInfo(); + try { + Map map = supplierService.getBeginNeedByOrganId(organId); + res.code = 200; + res.data = map; + } catch (Exception e) { + e.printStackTrace(); + res.code = 500; + res.data = "获取数据失败"; + } + return res; + } + /** * 导入供应商 * @param file diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountItemMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountItemMapperEx.java index 148a6025..2b918e08 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountItemMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountItemMapperEx.java @@ -37,4 +37,6 @@ public interface AccountItemMapperEx { int batchDeleteAccountItemByHeadIds(@Param("updateTime") Date updateTime, @Param("updater") Long updater, @Param("ids") String[] ids); BigDecimal getEachAmountByBillId(@Param("billId") Long billId); + + BigDecimal getFinishDebtByOrganId(@Param("organId") Long organId); } \ No newline at end of file diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java index 2dbcf02b..38d40cb0 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java @@ -224,6 +224,20 @@ public interface DepotHeadMapperEx { @Param("forceFlag") Boolean forceFlag); List debtList( + @Param("organId") Long organId, + @Param("type") String type, + @Param("subType") String subType, + @Param("creatorArray") String[] creatorArray, + @Param("status") String status, + @Param("number") String number, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("materialParam") String materialParam, + @Param("depotArray") String[] depotArray, + @Param("offset") Integer offset, + @Param("rows") Integer rows); + + int debtListCount( @Param("organId") Long organId, @Param("type") String type, @Param("subType") String subType, diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java index 0278f7fd..77296dd7 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java @@ -1234,7 +1234,7 @@ public class DepotHeadService { } public List debtList(Long organId, String materialParam, String number, String beginTime, String endTime, - String type, String subType, String roleType, String status) { + String type, String subType, String roleType, String status, Integer offset, Integer rows) { List resList = new ArrayList<>(); try{ String depotIds = depotService.findDepotStrByCurrentUser(); @@ -1242,7 +1242,8 @@ public class DepotHeadService { String [] creatorArray = getCreatorArray(roleType); beginTime = Tools.parseDayToTime(beginTime,BusinessConstants.DAY_FIRST_TIME); endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); - List list=depotHeadMapperEx.debtList(organId, type, subType, creatorArray, status, number, beginTime, endTime, materialParam, depotArray); + List list=depotHeadMapperEx.debtList(organId, type, subType, creatorArray, status, number, + beginTime, endTime, materialParam, depotArray, offset, rows); if (null != list) { List idList = new ArrayList<>(); for (DepotHeadVo4List dh : list) { @@ -1301,4 +1302,22 @@ public class DepotHeadService { } return resList; } + + public int debtListCount(Long organId, String materialParam, String number, String beginTime, String endTime, + String type, String subType, String roleType, String status) { + int total = 0; + try { + String depotIds = depotService.findDepotStrByCurrentUser(); + String[] depotArray = depotIds.split(","); + String[] creatorArray = getCreatorArray(roleType); + beginTime = Tools.parseDayToTime(beginTime, BusinessConstants.DAY_FIRST_TIME); + endTime = Tools.parseDayToTime(endTime, BusinessConstants.DAY_LAST_TIME); + total = depotHeadMapperEx.debtListCount(organId, type, subType, creatorArray, status, number, + beginTime, endTime, materialParam, depotArray); + } catch(Exception e){ + JshException.readFail(logger, e); + } + return total; + + } } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/supplier/SupplierService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/supplier/SupplierService.java index 435e72b4..0f7c7d1c 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/supplier/SupplierService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/supplier/SupplierService.java @@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.constants.ExceptionConstants; import com.jsh.erp.datasource.entities.*; -import com.jsh.erp.datasource.mappers.AccountHeadMapperEx; -import com.jsh.erp.datasource.mappers.DepotHeadMapperEx; -import com.jsh.erp.datasource.mappers.SupplierMapper; -import com.jsh.erp.datasource.mappers.SupplierMapperEx; +import com.jsh.erp.datasource.mappers.*; import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.exception.JshException; import com.jsh.erp.service.accountHead.AccountHeadService; @@ -56,6 +53,8 @@ public class SupplierService { @Resource private DepotHeadMapperEx depotHeadMapperEx; @Resource + private AccountItemMapperEx accountItemMapperEx; + @Resource private DepotHeadService depotHeadService; @Resource private AccountHeadService accountHeadService; @@ -403,6 +402,29 @@ public class SupplierService { return list; } + public Map getBeginNeedByOrganId(Long organId) throws Exception { + Supplier supplier = getSupplier(organId); + Map map = new HashMap<>(); + BigDecimal needDebt = BigDecimal.ZERO; + if("供应商".equals(supplier.getType())) { + needDebt = supplier.getBeginNeedPay(); + } else if("客户".equals(supplier.getType())) { + needDebt = supplier.getBeginNeedGet(); + } + BigDecimal finishDebt = accountItemMapperEx.getFinishDebtByOrganId(organId); + BigDecimal eachAmount = BigDecimal.ZERO; + if(needDebt != null && finishDebt != null) { + eachAmount = needDebt.subtract(finishDebt); + } + //应收欠款 + map.put("needDebt", needDebt); + //已收欠款 + map.put("finishDebt", finishDebt); + //本次收款 + map.put("eachAmount", eachAmount); + return map; + } + public void importVendor(MultipartFile file, HttpServletRequest request) throws Exception{ String type = "供应商"; Workbook workbook = Workbook.getWorkbook(file.getInputStream()); diff --git a/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml index f98e7d8f..54b5464d 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml @@ -59,8 +59,13 @@ and ah.remark like #{bindRemark} - - and dh.number like #{bindNumber} + + and ai.bill_id is null + + + + and dh.number like #{bindNumber} + and ifnull(ah.delete_flag,'0') !='1' order by ah.id desc @@ -117,8 +122,13 @@ and ah.remark like #{bindRemark} - - and dh.number like #{bindNumber} + + and ai.bill_id is null + + + + and dh.number like #{bindNumber} + and ifnull(ah.delete_flag,'0') !='1') tb diff --git a/jshERP-boot/src/main/resources/mapper_xml/AccountItemMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/AccountItemMapperEx.xml index a5e65260..db4b731a 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/AccountItemMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/AccountItemMapperEx.xml @@ -124,4 +124,13 @@ and ifnull(delete_flag,'0') !='1' + + \ No newline at end of file diff --git a/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml index a495eaf3..a9210962 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml @@ -1002,6 +1002,63 @@ < (dh.discount_last_money + dh.other_money - ifnull(dh.deposit,0)) and ifnull(dh.delete_flag,'0') !='1' order by dh.oper_time desc + + limit #{offset},#{rows} + + + +