From bd745ff6aaa0a3af02b874c3c972158b59949009 Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Thu, 14 Nov 2024 14:36:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PartApplyAppController.java | 14 +- .../bases/controller/PaTypeController.java | 29 +++ .../bases/controller/PartCheckController.java | 86 +++++++++ .../bases/controller/PartScrapController.java | 73 ++++++++ .../gzgqj/business/bases/entity/PaTypeVo.java | 5 + .../bases/entity/PartCheckDetailsVo.java | 62 +++++++ .../business/bases/entity/PartCheckVo.java | 90 ++++++++++ .../bases/entity/PartScrapDetailsVo.java | 54 ++++++ .../business/bases/entity/PartScrapVo.java | 71 ++++++++ .../business/bases/mapper/PaTypeMapper.java | 25 +++ .../bases/mapper/PartCheckMapper.java | 69 +++++++ .../bases/mapper/PartInputMapper.java | 2 +- .../bases/mapper/PartScrapMapper.java | 65 +++++++ .../business/bases/service/PaTypeService.java | 31 ++++ .../bases/service/PaTypeServiceImpl.java | 33 ++++ .../bases/service/PartCheckService.java | 36 ++++ .../bases/service/PartCheckServiceImpl.java | 169 ++++++++++++++++++ .../bases/service/PartInputServiceImpl.java | 3 +- .../bases/service/PartScrapService.java | 36 ++++ .../bases/service/PartScrapServiceImpl.java | 135 ++++++++++++++ .../resources/mappers/bases/PaTypeMapper.xml | 30 ++++ .../mappers/bases/PartBackMapper.xml | 2 +- .../mappers/bases/PartCheckMapper.xml | 90 ++++++++++ .../mappers/bases/PartScrapMapper.xml | 70 ++++++++ 24 files changed, 1270 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/controller/PartCheckController.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/controller/PartScrapController.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/entity/PartCheckDetailsVo.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/entity/PartCheckVo.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/entity/PartScrapDetailsVo.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/entity/PartScrapVo.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/mapper/PartCheckMapper.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/mapper/PartScrapMapper.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/service/PartCheckService.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/service/PartCheckServiceImpl.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/service/PartScrapService.java create mode 100644 src/main/java/com/bonus/gzgqj/business/bases/service/PartScrapServiceImpl.java create mode 100644 src/main/resources/mappers/bases/PartCheckMapper.xml create mode 100644 src/main/resources/mappers/bases/PartScrapMapper.xml diff --git a/src/main/java/com/bonus/gzgqj/business/app/controller/PartApplyAppController.java b/src/main/java/com/bonus/gzgqj/business/app/controller/PartApplyAppController.java index fb6f24f..b64dee9 100644 --- a/src/main/java/com/bonus/gzgqj/business/app/controller/PartApplyAppController.java +++ b/src/main/java/com/bonus/gzgqj/business/app/controller/PartApplyAppController.java @@ -29,13 +29,13 @@ import java.util.List; @Slf4j public class PartApplyAppController { - @Autowired - private PartApplyAppServiceImp service; - /** - * 配件申请-设备 下拉选集合 - * @param dto - * @return - */ + @Autowired + private PartApplyAppServiceImp service; + /** + * 配件申请-设备 下拉选集合 + * @param dto + * @return + */ @PostMapping("getDevList") public ServerResponse getDevList(MachinesVo dto) { return service.getDevList(dto); diff --git a/src/main/java/com/bonus/gzgqj/business/bases/controller/PaTypeController.java b/src/main/java/com/bonus/gzgqj/business/bases/controller/PaTypeController.java index ff32a19..4d52321 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/controller/PaTypeController.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/controller/PaTypeController.java @@ -42,6 +42,35 @@ public class PaTypeController { return service.getTypeList(dto.getData()); } + + + /** + * 分页查询配件类型 + * @param dto + * @return + */ + @GetMapping("getPaTypeListByPage") + @DecryptAndVerify(decryptedClass = PaTypeVo.class) + public PageInfo getPaTypeListByPage(EncryptedReq dto) { + PageHelper.startPage(dto.getPageNum(),dto.getPageSize()); + List list = service.getPaTypeList(dto.getData());; + PageInfo pageInfo = new PageInfo<>(list); + return pageInfo; + } + + + + /** + * 查询全部类型数据 + * @param dto + * @return + */ + @GetMapping("getPaTypeList") + @DecryptAndVerify(decryptedClass = PaTypeVo.class) + public ServerResponse getPaTypeList(EncryptedReq dto) { + List list = service.getPaTypeList(dto.getData());; + return ServerResponse.createSuccess(list); + } /** * 新增 数据頛 * @param dto diff --git a/src/main/java/com/bonus/gzgqj/business/bases/controller/PartCheckController.java b/src/main/java/com/bonus/gzgqj/business/bases/controller/PartCheckController.java new file mode 100644 index 0000000..fa20575 --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/controller/PartCheckController.java @@ -0,0 +1,86 @@ +package com.bonus.gzgqj.business.bases.controller; + +import com.bonus.gzgqj.business.app.entity.PartApplyAppVo; +import com.bonus.gzgqj.business.bases.entity.PaTypeVo; +import com.bonus.gzgqj.business.bases.entity.PartCheckVo; +import com.bonus.gzgqj.business.bases.entity.UserPatypeInfo; +import com.bonus.gzgqj.business.bases.service.PartCheckService; +import com.bonus.gzgqj.manager.annotation.DecryptAndVerify; +import com.bonus.gzgqj.manager.core.entity.EncryptedReq; +import com.bonus.gzgqj.manager.webResult.ServerResponse; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 库存盘点 + * @author 黑子 + */ +@RestController +@RequestMapping("/backstage/partCheck") +@Slf4j +public class PartCheckController { + + @Autowired + private PartCheckService service; + + /** + * 盘点记录分页拆线呢 + * @param dto + * @return + */ + @GetMapping("findByPage") + @DecryptAndVerify(decryptedClass = PartCheckVo.class) + public PageInfo findByPage(EncryptedReq dto) { + PageHelper.startPage(dto.getPageNum(),dto.getPageSize()); + List list = service.findByPage(dto.getData());; + PageInfo pageInfo = new PageInfo<>(list); + return pageInfo; + } + + + /** + * 盘点入库新增接口 + * @return + */ + @PostMapping("insertCheckData") + public ServerResponse insertCheckData(HttpServletRequest request, @RequestParam(value = "file[]",required = false) MultipartFile[] files) { + return service.insertCheckData(request,files); + } + + + + /** + * 盘点入库新增接口 + * @return + */ + @PostMapping("getDetailsById") + @DecryptAndVerify(decryptedClass = PartCheckVo.class) + public ServerResponse getDetailsById(EncryptedReq dto) { + return service.getDetailsById(dto.getData()); + } + + + + + + + + + + + + + + + + + + +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/controller/PartScrapController.java b/src/main/java/com/bonus/gzgqj/business/bases/controller/PartScrapController.java new file mode 100644 index 0000000..5272285 --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/controller/PartScrapController.java @@ -0,0 +1,73 @@ +package com.bonus.gzgqj.business.bases.controller; + +import com.bonus.gzgqj.business.bases.entity.PartCheckVo; +import com.bonus.gzgqj.business.bases.entity.PartScrapVo; +import com.bonus.gzgqj.business.bases.service.PartCheckService; +import com.bonus.gzgqj.business.bases.service.PartScrapService; +import com.bonus.gzgqj.manager.annotation.DecryptAndVerify; +import com.bonus.gzgqj.manager.core.entity.EncryptedReq; +import com.bonus.gzgqj.manager.webResult.ServerResponse; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import sun.dc.pr.PRError; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 配件报废 + * @author 黑子 + */ +@RestController +@RequestMapping("/backstage/partScrap") +@Slf4j +public class PartScrapController { + + @Autowired + private PartScrapService service; + + + /** + * 盘点记录分页拆线呢 + * @param dto + * @return + */ + @GetMapping("findByPage") + @DecryptAndVerify(decryptedClass = PartScrapVo.class) + public PageInfo findByPage(EncryptedReq dto) { + PageHelper.startPage(dto.getPageNum(),dto.getPageSize()); + List list = service.findByPage(dto.getData());; + PageInfo pageInfo = new PageInfo<>(list); + return pageInfo; + } + + + /** + * 盘点入库新增接口 + * @return + */ + @PostMapping("insertScarpData") + public ServerResponse insertScarpData(HttpServletRequest request, @RequestParam(value = "file[]",required = false) MultipartFile[] files) { + return service.insertCheckData(request,files); + } + + + + /** + * 盘点入库新增接口 + * @return + */ + @PostMapping("getDetailsById") + @DecryptAndVerify(decryptedClass = PartScrapVo.class) + public ServerResponse getDetailsById(EncryptedReq dto) { + return service.getDetailsById(dto.getData()); + } + + + + +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/entity/PaTypeVo.java b/src/main/java/com/bonus/gzgqj/business/bases/entity/PaTypeVo.java index fd45b2d..864bf98 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/entity/PaTypeVo.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/entity/PaTypeVo.java @@ -74,5 +74,10 @@ public class PaTypeVo { */ private int allNum; + /** + * 总入库量 + */ + private int bfNum; + } diff --git a/src/main/java/com/bonus/gzgqj/business/bases/entity/PartCheckDetailsVo.java b/src/main/java/com/bonus/gzgqj/business/bases/entity/PartCheckDetailsVo.java new file mode 100644 index 0000000..e4ea8b0 --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/entity/PartCheckDetailsVo.java @@ -0,0 +1,62 @@ +package com.bonus.gzgqj.business.bases.entity; + +import lombok.Data; + +/** + * @author 黑子 + */ +@Data +public class PartCheckDetailsVo { + + + /** + * 主键 + */ + private String id; + /** + * 记录id + */ + private String invId; + + /** + * 配件id + */ + private String partId; + /** + * 配件类型 + */ + private String partType; + /** + * 配件名称 + */ + private String partName; + + /** + * 配件类型 + */ + private String partModel; + + /** + * 配件类型 + */ + private String partUnit; + + private String remark; + /** + * 盘点数量 + */ + private int checkNum; + /** + * 盘点前-库存数量 + */ + private int num; + /** + * 盘盈 + */ + private int addNum; + /** + * 盘亏 + */ + private int subNum; + +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/entity/PartCheckVo.java b/src/main/java/com/bonus/gzgqj/business/bases/entity/PartCheckVo.java new file mode 100644 index 0000000..64ede0a --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/entity/PartCheckVo.java @@ -0,0 +1,90 @@ +package com.bonus.gzgqj.business.bases.entity; + +import com.bonus.gzgqj.business.plan.entity.FileUploadVo; +import lombok.Data; + +import java.util.List; + +/** + * 库存盘点实体类 + * @author 黑子 + */ +@Data +public class PartCheckVo { + /** + * 主键 + */ + private String id; + /** + * 编码 + */ + private String code; + /** + * 盘点人id + */ + private String creator; + /** + * 盘点时间 + */ + private String createTime; + /** + * 开始时间 + */ + private String startTime; + /** + * 结束时间 + */ + private String endTime; + /** + * 备注 + */ + + private String remark; + /** + * 修改人 + */ + private String updater; + /** + * 更新时间 + */ + private String updateTime; + /** + * 使用人 + */ + private String userName; + /** + * 盘盈 + */ + private int addNum; + /** + * 盘亏 + */ + private int subNum; + + private String keyWord; + + + /** + * 详情集合 + */ + private List detailList; + + + /** + * 文件上传 集合 + */ + private List fileList; + + /** + * 明细 + */ + private String infoMsg; + /** + * 曾家明细 + */ + private String addMsg; + /** + * 减少明细 + */ + private String subMsg; +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/entity/PartScrapDetailsVo.java b/src/main/java/com/bonus/gzgqj/business/bases/entity/PartScrapDetailsVo.java new file mode 100644 index 0000000..05b5e08 --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/entity/PartScrapDetailsVo.java @@ -0,0 +1,54 @@ +package com.bonus.gzgqj.business.bases.entity; + +import lombok.Data; + +/** + * 配件报废 + * @author 黑子 + */ +@Data +public class PartScrapDetailsVo { + + + /** + * 主键 + */ + private String id; + /** + * 报废单id + */ + private String scrapId; + /** + * 报废数量 + */ + private int scrapNum; + + + /** + * 配件id + */ + private String partId; + /** + * 配件类型 + */ + private String partType; + /** + * 配件名称 + */ + private String partName; + + /** + * 配件类型 + */ + private String partModel; + + /** + * 配件类型 + */ + private String partUnit; + + private String remark; + + + +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/entity/PartScrapVo.java b/src/main/java/com/bonus/gzgqj/business/bases/entity/PartScrapVo.java new file mode 100644 index 0000000..547fd5f --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/entity/PartScrapVo.java @@ -0,0 +1,71 @@ +package com.bonus.gzgqj.business.bases.entity; + +import com.bonus.gzgqj.business.plan.entity.FileUploadVo; +import lombok.Data; + +import java.util.List; + +/** + * 报废 + * @author 黑子 + */ +@Data +public class PartScrapVo { + + private String id; + + private String name; + + private String userName; + /** + * 百纳后 + */ + private String code; + /** + * 报废日期 + */ + private String scrapDay; + /** + * 备注 + */ + private String remark; + + private String creator; + + private String createTime; + + private String updater; + + private String updateTime; + /** + * 报废数量 + */ + private int bfNum; + + private String keyWord; + + private String startDay; + /** + * + */ + private String endDay; + + + /** + * 明细 + */ + private String infoMsg; + + /** + * 详情集合 + */ + private List detailList; + + + /** + * 文件上传 集合 + */ + private List fileList; + + +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/mapper/PaTypeMapper.java b/src/main/java/com/bonus/gzgqj/business/bases/mapper/PaTypeMapper.java index d8bd8cb..5dd6ef0 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/mapper/PaTypeMapper.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/mapper/PaTypeMapper.java @@ -66,4 +66,29 @@ public interface PaTypeMapper { * @return */ List getVendList(VendVo data); + + /** + * 查询 配件 类型集合 + * @param data + * @return + */ + List getPaTypeList(PaTypeVo data); + + /** + * 依据id 查询类型详情 + * @param id + * @return + */ + PaTypeVo getPartTypeDetailById(String id); + + /** + * 更新库存数量 + * @param paTypeVo + */ + void updateNum(PaTypeVo paTypeVo); + /** + * 更新报废数量 + * @param paTypeVo + */ + void updateBfNum(PaTypeVo paTypeVo); } diff --git a/src/main/java/com/bonus/gzgqj/business/bases/mapper/PartCheckMapper.java b/src/main/java/com/bonus/gzgqj/business/bases/mapper/PartCheckMapper.java new file mode 100644 index 0000000..0ccb095 --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/mapper/PartCheckMapper.java @@ -0,0 +1,69 @@ +package com.bonus.gzgqj.business.bases.mapper; + +import com.bonus.gzgqj.business.bases.entity.PartCheckDetailsVo; +import com.bonus.gzgqj.business.bases.entity.PartCheckVo; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @author 黑子 + * 盘点接口层 + */ +@Repository +public interface PartCheckMapper { + + /** + * 分页查询 盘点记录 + * @param data + * @return + */ + List findByPage(PartCheckVo data); + + /** + * 盘点记录存储 + * @param vo + * @return + */ + int insertCheckData(PartCheckVo vo); + + /** + * 插入详情数据 + * @param vo + * @param details + * @return + */ + int insertCheckDetailData(@Param("param") PartCheckVo vo,@Param("list") List details); + + /** + * 拆线呢盘点列表 + * @param data + * @return + */ + PartCheckVo getCheckDetails(PartCheckVo data); + + /** + * 查询盘点详情 + * @param data + * @return + */ + List getCheckDetailList(PartCheckVo data); + + /** + * 消息 + * @param data + * @return + */ + List getInfo(PartCheckVo data); + + List getAddMsg(PartCheckVo data); + + List getSubMsg(PartCheckVo data); + + /** + * 当日入库量 + * @return + */ + int getNum(); +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/mapper/PartInputMapper.java b/src/main/java/com/bonus/gzgqj/business/bases/mapper/PartInputMapper.java index 8c762a2..295fecb 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/mapper/PartInputMapper.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/mapper/PartInputMapper.java @@ -64,7 +64,7 @@ public interface PartInputMapper { * @param data * @return */ - String getInfoById(PartInputVo data); + List getInfoById(PartInputVo data); /** * 查询入库详情 diff --git a/src/main/java/com/bonus/gzgqj/business/bases/mapper/PartScrapMapper.java b/src/main/java/com/bonus/gzgqj/business/bases/mapper/PartScrapMapper.java new file mode 100644 index 0000000..59c1daf --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/mapper/PartScrapMapper.java @@ -0,0 +1,65 @@ +package com.bonus.gzgqj.business.bases.mapper; + +import com.bonus.gzgqj.business.bases.entity.PartCheckVo; +import com.bonus.gzgqj.business.bases.entity.PartScrapDetailsVo; +import com.bonus.gzgqj.business.bases.entity.PartScrapVo; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 报废 数据层 + * @author 黑子 + */ +@Repository +public interface PartScrapMapper { + /** + * 分页查询报废单 + * @param data + * @return + */ + List findByPage(PartScrapVo data); + + /** + * 今日报废单 + * @return + */ + int getNum(); + + /** + * 新增报废单 + * @param vo + * @return + */ + int insertScrapData(PartScrapVo vo); + + /** + * 插入报废详情 + * @param vo + * @param details + * @return + */ + int insertScrapDetailsData(@Param("param") PartScrapVo vo, @Param("list") List details); + + /** + * 依据id 查询详情 + * @param data + * @return + */ + PartScrapVo getDetailsById(PartScrapVo data); + + /** + * 依据id查询 详情集合 + * @param data + * @return + */ + List getDetailListById(PartScrapVo data); + + /** + * 查询数据 + * @param data + * @return + */ + List getInfo(PartScrapVo data); +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeService.java b/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeService.java index 67d6bd1..2c3f164 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeService.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeService.java @@ -47,6 +47,11 @@ public interface PaTypeService { */ List findByPage(PaTypeVo data); + /** + * 厂家下拉选 + * @param data + * @return + */ ServerResponse getVendList(VendVo data); /** @@ -55,4 +60,30 @@ public interface PaTypeService { * @return */ ServerResponse getTypeDetails(PaTypeVo data); + + /** + * 拆线呢配件数据 + * @param data + * @return + */ + List getPaTypeList(PaTypeVo data); + + /** + * 查询数据心昂去 + * @param partId + * @return + */ + PaTypeVo getPartTypeDetailById(String partId); + + /** + * 更新库存数量 + * @param paTypeVo + */ + void updateNum(PaTypeVo paTypeVo); + + /** + * 更新爆发数量 + * @param paTypeVo + */ + void updateBfNum(PaTypeVo paTypeVo); } diff --git a/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeServiceImpl.java b/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeServiceImpl.java index a36beb1..0a5d285 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeServiceImpl.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeServiceImpl.java @@ -185,5 +185,38 @@ public class PaTypeServiceImpl implements PaTypeService{ return ServerResponse.createSuccess(new PaTypeVo()); } + /** + * 配件下拉选 查询 + * @param data + * @return + */ + @Override + public List getPaTypeList(PaTypeVo data) { + List list=new ArrayList<>(); + try{ + list=mapper.getPaTypeList(data); + }catch (Exception e){ + log.error(e.toString(),e); + } + return list; + } + @Override + public PaTypeVo getPartTypeDetailById(String id){ + return mapper.getPartTypeDetailById(id); + } + + /** + * 更新库存数量 + * @param paTypeVo + */ + @Override + public void updateNum(PaTypeVo paTypeVo) { + mapper.updateNum(paTypeVo); + } + + @Override + public void updateBfNum(PaTypeVo paTypeVo) { + mapper.updateBfNum(paTypeVo); + } } diff --git a/src/main/java/com/bonus/gzgqj/business/bases/service/PartCheckService.java b/src/main/java/com/bonus/gzgqj/business/bases/service/PartCheckService.java new file mode 100644 index 0000000..26dc4be --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/service/PartCheckService.java @@ -0,0 +1,36 @@ +package com.bonus.gzgqj.business.bases.service; + +import com.bonus.gzgqj.business.bases.entity.PartCheckVo; +import com.bonus.gzgqj.manager.webResult.ServerResponse; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 库存盘点接口层 + * @author 黑子 + */ +public interface PartCheckService { + /** + * 盘点记录分页拆线呢 + * @param data + * @return + */ + List findByPage(PartCheckVo data); + + /** + * 盘点入库新增接口 + * @param request + * @param files + * @return + */ + ServerResponse insertCheckData(HttpServletRequest request, MultipartFile[] files); + + /** + * 查看详情接口 + * @param data + * @return + */ + ServerResponse getDetailsById(PartCheckVo data); +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/service/PartCheckServiceImpl.java b/src/main/java/com/bonus/gzgqj/business/bases/service/PartCheckServiceImpl.java new file mode 100644 index 0000000..e5361fb --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/service/PartCheckServiceImpl.java @@ -0,0 +1,169 @@ +package com.bonus.gzgqj.business.bases.service; + +import com.alibaba.fastjson.JSON; +import com.bonus.gzgqj.business.bases.entity.PaTypeVo; +import com.bonus.gzgqj.business.bases.entity.PartCheckDetailsVo; +import com.bonus.gzgqj.business.bases.entity.PartCheckVo; +import com.bonus.gzgqj.business.bases.entity.PartInputVo; +import com.bonus.gzgqj.business.bases.mapper.PartApplyMapper; +import com.bonus.gzgqj.business.bases.mapper.PartCheckMapper; +import com.bonus.gzgqj.business.plan.entity.FileUploadVo; +import com.bonus.gzgqj.business.utils.FileUploadService; +import com.bonus.gzgqj.manager.common.util.DateTimeHelper; +import com.bonus.gzgqj.manager.common.util.StringHelper; +import com.bonus.gzgqj.manager.common.util.StringUtils; +import com.bonus.gzgqj.manager.common.util.UserUtil; +import com.bonus.gzgqj.manager.webResult.ServerResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * 库存盘点 业务层 + * @author 黑子 + */ +@Service +@Slf4j +public class PartCheckServiceImpl implements PartCheckService{ + + @Autowired + private PartCheckMapper mapper; + @Autowired + private PaTypeService paTypeService; + + @Autowired + private FileUploadService uploadService; + + /** + * + * @param data + * @return + */ + @Override + public List findByPage(PartCheckVo data) { + List list=new ArrayList<>(); + try{ + list=mapper.findByPage(data); + }catch (Exception e){ + log.error(e.toString(),e); + } + return list; + } + + /** + * 盘点入库接口 + * @param request + * @param files + * @return + */ + @Override + public ServerResponse insertCheckData(HttpServletRequest request, MultipartFile[] files) { + try { + Long userId= Objects.requireNonNull(UserUtil.getLoginUser()).getUserId(); + String userName=UserUtil.getLoginUser().getUsername(); + + String params=request.getParameter("params"); + PartCheckVo vo= JSON.parseObject(params,PartCheckVo.class); + vo.setCreator(userId.toString()); + vo.setUpdater(userId.toString()); + vo.setUserName(userName); + if(StringHelper.isEmpty(vo.getCreator())){ + return ServerResponse.createErroe("盘点人不能为空"); + } + if(StringHelper.isEmpty(vo.getStartTime())){ + return ServerResponse.createErroe("请填写盘点开始时间"); + } + if(StringHelper.isEmpty(vo.getEndTime())){ + return ServerResponse.createErroe("请填写盘点结束时间"); + } + List details=vo.getDetailList(); + if(details==null || details.isEmpty()){ + return ServerResponse.createErroe("请填写盘点详情"); + } + final int[] blNum = {0,0}; + details.forEach(dat->{ + if(dat.getCheckNum()>= dat.getNum()){ + dat.setAddNum(dat.getCheckNum()-dat.getNum()); + //盘盈 + blNum[0] = blNum[0] +dat.getCheckNum()-dat.getNum(); + }else{ + dat.setSubNum(dat.getNum()-dat.getCheckNum()); + //盘亏 + blNum[1] = blNum[1] +dat.getNum()-dat.getCheckNum(); + } + }); + vo.setAddNum(blNum[0]); + vo.setSubNum(blNum[1]); + vo.setCode(getCode()); + int success=mapper.insertCheckData(vo); + if(success>0){ + List fileList=uploadService.uploadImage(files,vo.getId(),"t_part_inventory","盘点附件"); + if(StringUtils.isEmpty(fileList) || fileList.size()!=files.length){ + return ServerResponse.createErroe("盘点失败"); + } + int successful=mapper.insertCheckDetailData(vo,details); + if(successful!=details.size()){ + return ServerResponse.createErroe("盘点失败"); + } + //更新库存数量 + details.forEach(detail->{ + PaTypeVo paTypeVo=paTypeService.getPartTypeDetailById(detail.getPartId()); + paTypeVo.setNum(detail.getCheckNum()); + paTypeService.updateNum(paTypeVo); + }); + return ServerResponse.createErroe("盘点成功"); + } + + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("盘点失败"); + } + + /** + * + * @param data + * @return + */ + @Override + public ServerResponse getDetailsById(PartCheckVo data) { + try{ + PartCheckVo vo=mapper.getCheckDetails(data); + List list=mapper.getCheckDetailList(data); + vo.setDetailList(list); + List flieList=uploadService.getFileList(data.getId(),"t_part_inventory",null); + vo.setFileList(flieList); + List infoMsg=mapper.getInfo(data); + List addMsg=mapper.getAddMsg(data); + List subMsg=mapper.getSubMsg(data); + String info = String.join(",", infoMsg); + String add= String.join(",", addMsg); + String sub = String.join(",", subMsg); + vo.setInfoMsg(info); + vo.setAddMsg(add); + vo.setSubMsg(sub); + return ServerResponse.createSuccess(vo); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createSuccess(new PartCheckVo()); + } + + public String getCode( ) { + int num =mapper.getNum(); + num++; + String year= DateTimeHelper.getNowYMD(); + if(num<10) { + return year+"00"+num; + }else if(num<100) { + return year+"0"+num; + } + return year+num; + } +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/service/PartInputServiceImpl.java b/src/main/java/com/bonus/gzgqj/business/bases/service/PartInputServiceImpl.java index 67b493c..616afb0 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/service/PartInputServiceImpl.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/service/PartInputServiceImpl.java @@ -233,7 +233,8 @@ public class PartInputServiceImpl implements PartInputService{ public ServerResponse getInputDetails(PartInputVo data) { try{ PartInputVo vo=mapper.getInputDetails(data); - String info=mapper.getInfoById(data); + List message=mapper.getInfoById(data); + String info = String.join(",", message); vo.setInfo(info); List flieList=uploadService.getFileList(data.getId(),"t_part_input",null); vo.setFileList(flieList); diff --git a/src/main/java/com/bonus/gzgqj/business/bases/service/PartScrapService.java b/src/main/java/com/bonus/gzgqj/business/bases/service/PartScrapService.java new file mode 100644 index 0000000..bbae33d --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/service/PartScrapService.java @@ -0,0 +1,36 @@ +package com.bonus.gzgqj.business.bases.service; + +import com.bonus.gzgqj.business.bases.entity.PartScrapVo; +import com.bonus.gzgqj.manager.webResult.ServerResponse; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 报废单接口层 + * @author 黑子 + */ +public interface PartScrapService { + /** + * 分页查询报废单 + * @param data + * @return + */ + List findByPage(PartScrapVo data); + + /** + * 新增报废数据 + * @param request + * @param files + * @return + */ + ServerResponse insertCheckData(HttpServletRequest request, MultipartFile[] files); + + /** + * 查看报废单详情 + * @param data + * @return + */ + ServerResponse getDetailsById(PartScrapVo data); +} diff --git a/src/main/java/com/bonus/gzgqj/business/bases/service/PartScrapServiceImpl.java b/src/main/java/com/bonus/gzgqj/business/bases/service/PartScrapServiceImpl.java new file mode 100644 index 0000000..39f5b02 --- /dev/null +++ b/src/main/java/com/bonus/gzgqj/business/bases/service/PartScrapServiceImpl.java @@ -0,0 +1,135 @@ +package com.bonus.gzgqj.business.bases.service; + +import com.alibaba.fastjson.JSON; +import com.bonus.gzgqj.business.bases.entity.*; +import com.bonus.gzgqj.business.bases.mapper.PartScrapMapper; +import com.bonus.gzgqj.business.plan.entity.FileUploadVo; +import com.bonus.gzgqj.business.utils.FileUploadService; +import com.bonus.gzgqj.manager.common.util.DateTimeHelper; +import com.bonus.gzgqj.manager.common.util.StringHelper; +import com.bonus.gzgqj.manager.common.util.StringUtils; +import com.bonus.gzgqj.manager.common.util.UserUtil; +import com.bonus.gzgqj.manager.webResult.ServerResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + *报废业务接口层 + * @author 黑子 + */ +@Slf4j +@Service +public class PartScrapServiceImpl implements PartScrapService{ + + + @Autowired + private PartScrapMapper mapper; + + @Autowired + private PaTypeService paTypeService; + + @Autowired + private FileUploadService uploadService; + + @Override + public List findByPage(PartScrapVo data) { + List list=new ArrayList<>(); + try{ + list=mapper.findByPage(data); + }catch (Exception e){ + log.error(e.toString(),e); + } + return list; + } + + @Override + public ServerResponse insertCheckData(HttpServletRequest request, MultipartFile[] files) { + try { + Long userId= Objects.requireNonNull(UserUtil.getLoginUser()).getUserId(); + String userName=UserUtil.getLoginUser().getUsername(); + String params=request.getParameter("params"); + PartScrapVo vo= JSON.parseObject(params,PartScrapVo.class); + vo.setCreator(userId.toString()); + vo.setUpdater(userId.toString()); + vo.setUserName(userName); + if(StringHelper.isEmpty(vo.getCreator())){ + return ServerResponse.createErroe("保费人不能为空"); + } + if(StringHelper.isEmpty(vo.getScrapDay())){ + return ServerResponse.createErroe("请填写报废时间"); + } + + List details=vo.getDetailList(); + final int[] blNum = {0}; + details.forEach(dat->{ + blNum[0] = blNum[0] +dat.getScrapNum(); + + }); + vo.setBfNum(blNum[0]); + vo.setCode(getCode()); + int success=mapper.insertScrapData(vo); + if(success>0){ + List fileList=uploadService.uploadImage(files,vo.getId(),"t_part_scrap","报废附件"); + if(StringUtils.isEmpty(fileList) || fileList.size()!=files.length){ + return ServerResponse.createErroe("报废失败"); + } + int successful=mapper.insertScrapDetailsData(vo,details); + if(successful!=details.size()){ + return ServerResponse.createErroe("报废失败"); + } + //更新库存数量 + details.forEach(detail->{ + PaTypeVo paTypeVo=paTypeService.getPartTypeDetailById(detail.getPartId()); + paTypeVo.setNum(paTypeVo.getNum()-detail.getScrapNum()); + paTypeVo.setBfNum(paTypeVo.getBfNum()+detail.getScrapNum()); + paTypeService.updateBfNum(paTypeVo); + }); + return ServerResponse.createErroe("报废成功"); + } + + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("报废失败"); + } + + @Override + public ServerResponse getDetailsById(PartScrapVo data) { + try{ + PartScrapVo vo=mapper.getDetailsById(data); + List list=mapper.getDetailListById(data); + vo.setDetailList(list); + List flieList=uploadService.getFileList(data.getId(),"t_part_scrap",null); + vo.setFileList(flieList); + List infoMsg=mapper.getInfo(data); + String info = String.join(",", infoMsg); + vo.setInfoMsg(info); + + return ServerResponse.createSuccess(vo); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createSuccess(new PartCheckVo()); + } + + + + public String getCode( ) { + int num =mapper.getNum(); + num++; + String year= DateTimeHelper.getNowYMD(); + if(num<10) { + return year+"00"+num; + }else if(num<100) { + return year+"0"+num; + } + return year+num; + } +} diff --git a/src/main/resources/mappers/bases/PaTypeMapper.xml b/src/main/resources/mappers/bases/PaTypeMapper.xml index c9a6c4d..51f19a6 100644 --- a/src/main/resources/mappers/bases/PaTypeMapper.xml +++ b/src/main/resources/mappers/bases/PaTypeMapper.xml @@ -11,6 +11,12 @@ update pa_type set is_active=0 where id=#{id} + + update pa_type set num=#{num} where id=#{id} + + + update pa_type set num=#{num} ,bf_num=#{bfNum} where id=#{id} + + + + \ No newline at end of file diff --git a/src/main/resources/mappers/bases/PartBackMapper.xml b/src/main/resources/mappers/bases/PartBackMapper.xml index 2b0727c..73ff353 100644 --- a/src/main/resources/mappers/bases/PartBackMapper.xml +++ b/src/main/resources/mappers/bases/PartBackMapper.xml @@ -16,7 +16,7 @@ tpb.remark like('%',#{keyWord},'%') ) - + and STR_TO_DATE(tpb.create_time, '%Y-%m-%d') between STR_TO_DATE(#{startDay} ,'%Y-%m-%d') AND STR_TO_DATE(#{endDay},'%Y-%m-%d') diff --git a/src/main/resources/mappers/bases/PartCheckMapper.xml b/src/main/resources/mappers/bases/PartCheckMapper.xml new file mode 100644 index 0000000..6413f2c --- /dev/null +++ b/src/main/resources/mappers/bases/PartCheckMapper.xml @@ -0,0 +1,90 @@ + + + + + insert into t_part_inventory( + code,creator,create_time,start_time,end_time,remark, + updater,update_time,user_name,add_num,sub_num + )values (#{code},#{creator},now(),#{startTime},#{endTime},#{remark}, + #{updater},now(),#{userName},#{addNum},#{subNum} ) + + + insert into t_part_inventory_details( + inv_id, part_id,check_num, + remark, num, part_type, + part_name, part_model, + part_unit, add_num, sub_num + ) values + + (#{param.id},#{item.partId},#{item.checkNum},#{item.remark}, + #{item.num},#{item.partType},#{item.partName},#{item.partModel}, + #{item.partUnit},#{item.addNum},#{item.subNum}) + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mappers/bases/PartScrapMapper.xml b/src/main/resources/mappers/bases/PartScrapMapper.xml new file mode 100644 index 0000000..40387a4 --- /dev/null +++ b/src/main/resources/mappers/bases/PartScrapMapper.xml @@ -0,0 +1,70 @@ + + + + + insert into t_part_scrap( + code, creator, create_time, remark, + updater, update_time, scrap_day, + bf_num, user_name + )values (#{code},#{creator},now(),#{remark},#{updater},now(),#{scrapDay},#{bfNum},#{userName}) + + + + insert into t_part_scrap_details( + scrap_id, part_id,scrap_num, + remark, num, part_type, + part_name, part_model, part_unit + ) values + + (#{param.id},#{item.partId},#{item.scrapNum},#{item.remark}, + #{item.num},#{item.partType},#{item.partName},#{item.partModel}, #{item.partUnit}) + + + + + + + + + + + \ No newline at end of file