diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaMachine.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaMachine.java index 20c2cfc..61dad58 100644 --- a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaMachine.java +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaMachine.java @@ -69,6 +69,14 @@ public class MaMachine extends BaseEntity { @ApiModelProperty(value = "机具编号") @Excel(name = "设备编码", sort = 4) private String maCode; + + private String modelName; + private String typeName; + private String manageType; + private String nuitName; + private Integer receiveNum; + private String maIds; + private Integer id; /** * 原编号 */ diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java index 5ec8590..7183c3f 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java @@ -21,6 +21,8 @@ import com.bonus.sgzb.common.log.enums.BusinessType; import com.bonus.sgzb.common.security.annotation.Logical; import com.bonus.sgzb.common.security.annotation.RequiresPermissions; import com.bonus.sgzb.common.security.utils.SecurityUtils; +import com.bonus.sgzb.material.domain.SecondLotConfig; +import com.bonus.sgzb.material.mapper.SecondaryWarehouseMapper; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -61,6 +63,9 @@ public class TmTaskController extends BaseController { @Autowired private LeaseUserBookService leaseUserBookService; + @Resource + private SecondaryWarehouseMapper secondaryWarehouseMapper; + /** * 领料审核通过,分公司,分管,机具分公司统一接口 @@ -182,6 +187,13 @@ public class TmTaskController extends BaseController { return AjaxResult.error("手机号格式错误"); } } + // 查询改领料单位下面有没有配置二级库 + SecondLotConfig config = new SecondLotConfig(); + config.setUnitId(task.getUnitId()); + SecondLotConfig secondLotConfig = secondaryWarehouseMapper.selectConfigByLotId(config); + if (secondLotConfig == null) { + return AjaxResult.error("该领料单位未配置二级库,请先配置"); + } try { String code = tmTaskService.genderLeaseCode(); if (StringUtils.isEmpty(code)) { @@ -192,7 +204,9 @@ public class TmTaskController extends BaseController { boolean addTaskResult = tmTaskService.insertSelective(task) > 0; //任务与协议建立关联关系 - boolean i = tmTaskService.insertAgreement(task) > 0; + if (task.getAgreementId() != null){ + boolean i = tmTaskService.insertAgreement(task) > 0; + } if (addTaskResult && task.getLeaseApplyInfo() != null) { if (CollUtil.isEmpty(task.getLeaseApplyDetails())) { diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/controller/WarehouseKeeperController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/controller/WarehouseKeeperController.java index c5bd5b0..3b6c846 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/controller/WarehouseKeeperController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/controller/WarehouseKeeperController.java @@ -30,8 +30,7 @@ public class WarehouseKeeperController extends BaseController { */ @ApiOperation(value = "获取库管员配置列表") @GetMapping("/warehouseKeeperInfoAll") - public TableDataInfo getWarehouseKeeperInfoAll(WarehouseKeeper bean) - { + public TableDataInfo getWarehouseKeeperInfoAll(WarehouseKeeper bean) { startPage(); List list = warehouseKeeperService.getWarehouseKeeperInfoAll(bean); return getDataTable(list); @@ -40,14 +39,16 @@ public class WarehouseKeeperController extends BaseController { /** * 库管员配置-根据人员名称查询左侧列表 + * * @param userName * @return */ @ApiOperation(value = "库管员配置-根据人员名称查询左侧列表") @GetMapping("/getMaUserList") - public AjaxResult getMaUserList(String userName){ + public AjaxResult getMaUserList(String userName) { return AjaxResult.success(warehouseKeeperService.getMaUserList(userName)); } + @ApiOperation("库管员配置-保存") @Log(title = "库管员配置-保存", businessType = BusinessType.INSERT) @PostMapping("/addList") @@ -61,8 +62,7 @@ public class WarehouseKeeperController extends BaseController { */ @ApiOperation(value = "库管员配置-删除") @PostMapping("/remove") - public AjaxResult remove(@Validated @RequestBody WarehouseKeeper bean ) - { + public AjaxResult remove(@Validated @RequestBody WarehouseKeeper bean) { return toAjax(warehouseKeeperService.deleteByIds(bean)); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/mapper/WarehouseKeeperMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/mapper/WarehouseKeeperMapper.java index 5b29cef..57645e5 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/mapper/WarehouseKeeperMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/mapper/WarehouseKeeperMapper.java @@ -49,4 +49,6 @@ public interface WarehouseKeeperMapper { * @return */ int deleteByIdsAll(String[] typeIds); + + List getUsers(String typeId); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/service/impl/MaLabelBindServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/service/impl/MaLabelBindServiceImpl.java index 635984c..d4a77d3 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/service/impl/MaLabelBindServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/service/impl/MaLabelBindServiceImpl.java @@ -74,6 +74,7 @@ public class MaLabelBindServiceImpl implements IMaLabelBindService { maMachine.setMaCode(maLabelBind.getMaCode()); maMachine.setTypeId(maLabelBind.getTypeId()); maMachine.setQrCode(maLabelBind.getLabelCode()); + maMachine.setAssetsCode(maLabelBind.getAssetsCode()); maLabelBindMapper.insertMaLabel(maMachine); //根据typeId修改库存 maLabelBindMapper.updateMatypeNum(maLabelBind.getTypeId()); diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/vo/MaLabelBindVO.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/vo/MaLabelBindVO.java index f8e7589..c7dca46 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/vo/MaLabelBindVO.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/vo/MaLabelBindVO.java @@ -84,4 +84,7 @@ public class MaLabelBindVO { @ApiModelProperty(value = "关键字") private String keyWord; + + @ApiModelProperty(value = "固定资产编码") + private String assetsCode; } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/SecondaryWarehouseController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/SecondaryWarehouseController.java index b1047b9..7b17a7b 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/SecondaryWarehouseController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/SecondaryWarehouseController.java @@ -1,6 +1,7 @@ package com.bonus.sgzb.material.controller; import cn.hutool.core.convert.Convert; +import com.bonus.sgzb.base.api.domain.MaMachine; import com.bonus.sgzb.common.core.utils.poi.ExcelUtil; import com.bonus.sgzb.common.core.web.controller.BaseController; import com.bonus.sgzb.common.core.web.domain.AjaxResult; @@ -27,31 +28,82 @@ public class SecondaryWarehouseController extends BaseController { @Autowired private SecondaryWarehouseService service; + @ApiOperation(value = "二级库配置列表") + @GetMapping("/listConfig") + public AjaxResult listConfig(SecondLotConfig bean) { + startPage(); + List list = service.listConfig(bean); + return AjaxResult.success(getDataTable(list)); + } + + @ApiOperation(value = "二级库配置新增") + @PostMapping("/addConfig") + public AjaxResult config(@RequestBody SecondLotConfig bean) { + return service.addConfig(bean); + } + + @ApiOperation(value = "二级库配置修改") + @PostMapping("/updateConfig") + public AjaxResult updateConfig(@RequestBody SecondLotConfig bean) { + return service.updateConfig(bean); + } + + @ApiOperation(value = "二级库配置修改") + @PostMapping("/delConfig") + public AjaxResult delConfig(@RequestBody SecondLotConfig bean) { + return service.delConfig(bean); + } + + + @ApiOperation(value = "班组列表") + @GetMapping("/listTeamGroup") + public AjaxResult listTeamGroup(TeamGroup bean) { + startPage(); + List list = service.listTeamGroup(bean); + return AjaxResult.success(getDataTable(list)); + } + @ApiOperation(value = "新增班组") + @PostMapping("/addTeamGroup") + public AjaxResult addTeamGroup(@RequestBody TeamGroup bean) { + return service.addTeamGroup(bean); + } + /** * 获取二级库列表 */ @ApiOperation(value = "获取二级库列表") @GetMapping("/getList") - public TableDataInfo getList(SecondaryWarehouse bean){ + public TableDataInfo getList(SecondaryWarehouse bean) { startPage(); List list = service.getList(bean); return getDataTable(list); } + @ApiOperation(value = "获取二级库(在用、在库)编码机具") + @GetMapping("/getMaStatusByMaId") + public TableDataInfo getMaStatusByMaId(SecondaryWarehouse bean) { + startPage(); + List list = service.getMaStatusByMaId(bean); + return getDataTable(list); + } + /* @ApiOperation(value = "获取二级库(在用、在库)数量机具") + @GetMapping("/getDevCount") + public Integer getDevCount(SecondaryWarehouse bean) { + return service.getDevCount(bean); + }*/ /** * 二级库导出 */ @Log(title = "二级库导出", businessType = BusinessType.EXPORT) @PostMapping("/exportList") - public void exportList(HttpServletResponse response, @RequestBody SecondaryWarehouse bean) - { - if (bean.getLeaseType().equals(0)){ + public void exportList(HttpServletResponse response, @RequestBody SecondaryWarehouse bean) { + if (bean.getLeaseType().equals(0)) { SecondaryWarehouseVo bean1 = new SecondaryWarehouseVo(); - BeanUtils.copyProperties(bean,bean1); + BeanUtils.copyProperties(bean, bean1); List list = service.getList1(bean1); ExcelUtil util = new ExcelUtil(SecondaryWarehouseVo.class); util.exportExcel(response, list, "二级库导出"); - }else { + } else { List list = service.getList(bean); ExcelUtil util = new ExcelUtil(SecondaryWarehouse.class); util.exportExcel(response, list, "二级库导出"); @@ -63,8 +115,8 @@ public class SecondaryWarehouseController extends BaseController { */ @ApiOperation(value = "出库/退库操作") @PostMapping("/operate") - @Log(title = "二级库管理--出库退库操作") - public AjaxResult operate(@RequestBody TeamLeaseInfo bean){ + @Log(title = "二级库管理--出库/退库/归还操作") + public AjaxResult operate(@RequestBody TeamLeaseInfo bean) { int i = service.addNewOperate(bean); return toAjax(i); } @@ -74,7 +126,7 @@ public class SecondaryWarehouseController extends BaseController { */ @ApiOperation(value = "获取操作记录") @GetMapping("/getOperateList") - public TableDataInfo getOperateList(TeamLeaseInfo bean){ + public TableDataInfo getOperateList(TeamLeaseInfo bean) { startPage(); List list = service.getOperateList(bean); return getDataTable(list); @@ -85,8 +137,7 @@ public class SecondaryWarehouseController extends BaseController { */ @Log(title = "出库台账导出", businessType = BusinessType.EXPORT) @PostMapping("/exportOperateList") - public void exportOperateList(HttpServletResponse response, @RequestBody TeamLeaseInfo bean) - { + public void exportOperateList(HttpServletResponse response, @RequestBody TeamLeaseInfo bean) { List list = service.getOperateList(bean); ExcelUtil util = new ExcelUtil(TeamLeaseInfo.class); util.exportExcel(response, list, "出库台账导出"); @@ -97,10 +148,9 @@ public class SecondaryWarehouseController extends BaseController { */ @Log(title = "回库台账导出", businessType = BusinessType.EXPORT) @PostMapping("/exportIntOperateList") - public void exportIntOperateList(HttpServletResponse response, @RequestBody TeamLeaseInfo bean) - { + public void exportIntOperateList(HttpServletResponse response, @RequestBody TeamLeaseInfo bean) { List list = service.getOperateList(bean); - List listTwo = Convert.toList(TeamLeaseInfoTwo.class,list); + List listTwo = Convert.toList(TeamLeaseInfoTwo.class, list); ExcelUtil util = new ExcelUtil(TeamLeaseInfoTwo.class); util.exportExcel(response, listTwo, "回库台账导出"); } @@ -108,9 +158,9 @@ public class SecondaryWarehouseController extends BaseController { /** * 获取进场、退场、场内库存记录 */ - @ApiOperation(value = "获取进场、退场、场内库存记录") + @ApiOperation(value = "获取出入库记录") @GetMapping("/getRecords") - public TableDataInfo getRecords(TeamLeaseInfo bean){ + public TableDataInfo getRecords(TeamLeaseInfo bean) { startPage(); List list = service.getRecords(bean); return getDataTable(list); diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SecondLotConfig.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SecondLotConfig.java new file mode 100644 index 0000000..e917851 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SecondLotConfig.java @@ -0,0 +1,26 @@ +package com.bonus.sgzb.material.domain; + +import lombok.Data; + +/** + * @Author:liang.chao + * @Date:2024/12/30 - 13:51 + */ +@Data +public class SecondLotConfig { + private Long id; + //二级库名称 + private String name; + // 往来单位id + private Long unitId; + // 往来单位名称 + private String unitName; + //创建人 + private String creater; + //创建时间 + private String createTime; + //修改人 + private String updater; + //修改时间 + private String updateTime; +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SecondaryWarehouse.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SecondaryWarehouse.java index c69f9a6..d228744 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SecondaryWarehouse.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SecondaryWarehouse.java @@ -27,10 +27,22 @@ public class SecondaryWarehouse { *机具类型id */ private String typeId; + /** + *机具类型(0编码 1数量) + */ + private String manageType; + /** + *设备编码 + */ + private String maCode; /** *机具id */ private String maId; + /** + *机具id + */ + private String maIds; /** * */ @@ -126,5 +138,13 @@ public class SecondaryWarehouse { */ @Excel(name = "领用数量") private Integer receiveNum; + /** + * "1:在用 2:在库" + */ + private Integer type; + /** + * 班组id + */ + private Integer teamGroupId; } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/TeamGroup.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/TeamGroup.java new file mode 100644 index 0000000..40fd2ed --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/TeamGroup.java @@ -0,0 +1,26 @@ +package com.bonus.sgzb.material.domain; + +import lombok.Data; + +/** + * @Author:liang.chao + * @Date:2024/12/30 - 15:19 + */ +@Data +public class TeamGroup { + private Integer id; + //班组名称 + private String name; + //所属上级(往来单位) + private Integer unitId; + //所属上级名称 + private String unitName; + //创建者 + private String creater; + //创建时间 + private String createTime; + //修改者 + private String updater; + //修改时间 + private String updateTime; +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/TeamLeaseInfo.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/TeamLeaseInfo.java index 4766c61..cf7a947 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/TeamLeaseInfo.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/TeamLeaseInfo.java @@ -7,6 +7,7 @@ import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; +import java.util.List; /** * @author c liu @@ -31,10 +32,16 @@ public class TeamLeaseInfo { *机具id */ private String maId; + private String maIds; + private List teamLeaseInfos; /** *领料人 */ private String pickName; + // 二级库名称 + private String secondName; + // 班组名称 + private String groupName; /** *出库人 */ @@ -111,9 +118,9 @@ public class TeamLeaseInfo { private String phone; /** - * 1出库2退库 + * 1出库2退库3归还 */ - private String type; + private Integer type; private String keyword; /** * 1 2 3 4 @@ -121,8 +128,11 @@ public class TeamLeaseInfo { private String queryType; private int outNum; + private Integer teamGroupId; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date outTime; + + private Integer parentId; } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/SecondaryWarehouseMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/SecondaryWarehouseMapper.java index 104d8cc..f177e65 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/SecondaryWarehouseMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/SecondaryWarehouseMapper.java @@ -1,9 +1,10 @@ package com.bonus.sgzb.material.mapper; -import com.bonus.sgzb.material.domain.SecondaryWarehouse; -import com.bonus.sgzb.material.domain.SecondaryWarehouseVo; -import com.bonus.sgzb.material.domain.TeamLeaseInfo; +import com.bonus.sgzb.base.api.domain.MaMachine; +import com.bonus.sgzb.common.core.web.domain.AjaxResult; +import com.bonus.sgzb.material.domain.*; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -37,7 +38,7 @@ public interface SecondaryWarehouseMapper { // List getNewRecordsFive(TeamLeaseInfo bean); - int addNewOperate(TeamLeaseInfo bean); + Integer addNewOperate(TeamLeaseInfo bean); Integer selectStockNum(SecondaryWarehouse secondaryWarehouse); @@ -46,4 +47,34 @@ public interface SecondaryWarehouseMapper { List getList2(SecondaryWarehouseVo bean1); Integer selectStockNum1(SecondaryWarehouseVo secondaryWarehouse); + + Integer addConfig(SecondLotConfig bean); + + SecondLotConfig selectConfigByLotId(SecondLotConfig bean); + + Integer updateConfig(SecondLotConfig bean); + + Integer delConfig(SecondLotConfig bean); + + List listConfig(SecondLotConfig bean); + + List listTeamGroup(TeamGroup bean); + + Integer addTeamGroup(TeamGroup bean); + + Integer updateMachine(@Param("maId") String maId, @Param("maStatus")Integer maStatus); + + MaMachine getMaStatusByMaId(@Param("maId") String maId); + + List getUseMaStatusByMaId(/*@Param("maId") String maId,*/@Param("teamGroupId") Integer teamGroupId,@Param("unitId") Long unitId); + + Integer getDevCount(SecondaryWarehouse bean); + + Integer addNum(TeamLeaseInfo teamLeaseInfo); + + Integer updateOutNum(TeamLeaseInfo teamLeaseInfo); + + Integer deleteOutNum(TeamLeaseInfo teamLeaseInfo); + + Integer selectParentId(TeamLeaseInfo teamLeaseInfo); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/SecondaryWarehouseService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/SecondaryWarehouseService.java index d460e29..0d64014 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/SecondaryWarehouseService.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/SecondaryWarehouseService.java @@ -1,8 +1,8 @@ package com.bonus.sgzb.material.service; -import com.bonus.sgzb.material.domain.SecondaryWarehouse; -import com.bonus.sgzb.material.domain.SecondaryWarehouseVo; -import com.bonus.sgzb.material.domain.TeamLeaseInfo; +import com.bonus.sgzb.base.api.domain.MaMachine; +import com.bonus.sgzb.common.core.web.domain.AjaxResult; +import com.bonus.sgzb.material.domain.*; import java.util.List; @@ -24,4 +24,20 @@ public interface SecondaryWarehouseService { int addNewOperate(TeamLeaseInfo bean); List getList1(SecondaryWarehouseVo bean1); + + AjaxResult addConfig(SecondLotConfig bean); + + AjaxResult updateConfig(SecondLotConfig bean); + + AjaxResult delConfig(SecondLotConfig bean); + + List listConfig(SecondLotConfig bean); + + List listTeamGroup(TeamGroup bean); + + AjaxResult addTeamGroup(TeamGroup bean); + + List getMaStatusByMaId(SecondaryWarehouse bean); + + Integer getDevCount(SecondaryWarehouse bean); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/SecondaryWarehouseServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/SecondaryWarehouseServiceImpl.java index adaa067..3f6bd54 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/SecondaryWarehouseServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/SecondaryWarehouseServiceImpl.java @@ -1,16 +1,19 @@ package com.bonus.sgzb.material.service.impl; +import com.bonus.sgzb.base.api.domain.MaMachine; +import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.security.utils.SecurityUtils; -import com.bonus.sgzb.material.domain.SecondaryWarehouse; -import com.bonus.sgzb.material.domain.SecondaryWarehouseVo; -import com.bonus.sgzb.material.domain.TeamLeaseInfo; +import com.bonus.sgzb.material.domain.*; import com.bonus.sgzb.material.mapper.SecondaryWarehouseMapper; import com.bonus.sgzb.material.service.SecondaryWarehouseService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author c liu @@ -25,7 +28,7 @@ public class SecondaryWarehouseServiceImpl implements SecondaryWarehouseService @Override public List getList1(SecondaryWarehouseVo bean1) { List list = new ArrayList<>(); - if (bean1.getLeaseType().equals(1)){ + if (bean1.getLeaseType().equals(1)) { list = mapper.getList2(bean1); for (SecondaryWarehouseVo secondaryWarehouse : list) { Integer warehouse = mapper.selectStockNum1(secondaryWarehouse); @@ -35,26 +38,126 @@ public class SecondaryWarehouseServiceImpl implements SecondaryWarehouseService secondaryWarehouse.setReceiveNum(warehouse); secondaryWarehouse.setStockNum(secondaryWarehouse.getNum() - secondaryWarehouse.getReceiveNum()); } - }else { + } else { list = mapper.getList2(bean1); } return list; } + + @Override + public AjaxResult addConfig(SecondLotConfig bean) { + // 先查询该往来单位有没有绑定过二级库 + SecondLotConfig config = mapper.selectConfigByLotId(bean); + if (config != null) { + return AjaxResult.warn("该往来单位已绑定二级库"); + } else { + bean.setCreater(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + Integer i = mapper.addConfig(bean); + if (i > 0) { + return AjaxResult.success("新增成功"); + } else { + return AjaxResult.error("新增失败"); + } + } + } + + @Override + public AjaxResult updateConfig(SecondLotConfig bean) { + SecondLotConfig existingConfig = mapper.selectConfigByLotId(bean); + if (existingConfig != null) { + // 如果找到匹配的记录,检查除lotId外的其他属性是否有所不同,比如name + if (!bean.getName().equals(existingConfig.getName())) { + // 更新其它属性,比如name + bean.setUpdater(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + mapper.updateConfig(bean); + return AjaxResult.success("修改成功"); + } else { + return AjaxResult.warn("未检测到需要更新的信息"); + } + } else { + // 如果没有找到匹配的记录,则直接插入或返回错误取决于业务逻辑 + bean.setUpdater(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + mapper.updateConfig(bean); + return AjaxResult.success("修改成功"); + } + } + + @Override + public AjaxResult delConfig(SecondLotConfig bean) { + Integer i = mapper.delConfig(bean); + if (i > 0) { + return AjaxResult.success("删除成功"); + } else { + return AjaxResult.error("删除失败"); + } + } + + @Override + public List listConfig(SecondLotConfig bean) { + return mapper.listConfig(bean); + } + + @Override + public List listTeamGroup(TeamGroup bean) { + return mapper.listTeamGroup(bean); + } + + @Override + public AjaxResult addTeamGroup(TeamGroup bean) { + bean.setCreater(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + Integer i = mapper.addTeamGroup(bean); + if (i > 0) { + return AjaxResult.success("新增成功"); + } else { + return AjaxResult.error("新增失败"); + } + } + + @Override + public List getMaStatusByMaId(SecondaryWarehouse bean) { + List list = new ArrayList<>(); + if (bean.getType() == 1) { + for (String maId : bean.getMaIds().split(",")) { + MaMachine maMachine = mapper.getMaStatusByMaId(maId); + if (maMachine != null) { + list.add(maMachine); + } + } + } + if (bean.getType() == 2) { +// for (String maId : bean.getMaIds().split(",")) { + List maMachine = mapper.getUseMaStatusByMaId(/*maId,*/ bean.getTeamGroupId(), bean.getUnitId()); + if (maMachine != null) { + list.addAll(maMachine); + } +// } + } + if (StringUtils.isNotBlank(bean.getMaCode())) { + List filteredItems = list.stream() + .filter(item -> item.getMaCode().contains(bean.getMaCode())) + .collect(Collectors.toList()); + return filteredItems; + } else { + return list; + } + } + + @Override + public Integer getDevCount(SecondaryWarehouse bean) { + return mapper.getDevCount(bean); + } + @Override public List getList(SecondaryWarehouse bean) { - List list = new ArrayList<>(); - if (bean.getLeaseType().equals(1)){ - list = mapper.getList(bean); - for (SecondaryWarehouse secondaryWarehouse : list) { - Integer warehouse = mapper.selectStockNum(secondaryWarehouse); - if (warehouse == null) { - warehouse = 0; - } - secondaryWarehouse.setReceiveNum(warehouse); - secondaryWarehouse.setStockNum(secondaryWarehouse.getNum() - secondaryWarehouse.getReceiveNum()); + bean.setLeaseType(1); + List list = mapper.getList(bean); + for (SecondaryWarehouse secondaryWarehouse : list) { + Integer warehouse = mapper.selectStockNum(secondaryWarehouse); + if (warehouse == null) { + warehouse = 0; } - }else { - list = mapper.getList1(bean); + secondaryWarehouse.setReceiveNum(warehouse); + secondaryWarehouse.setStockNum(secondaryWarehouse.getNum() - secondaryWarehouse.getReceiveNum()); } return list; } @@ -73,20 +176,71 @@ public class SecondaryWarehouseServiceImpl implements SecondaryWarehouseService @Override public List getRecords(TeamLeaseInfo bean) { -// System.out.println(bean.getLeaseMan()); return mapper.getNewRecords(bean); - } @Override - public int addNewOperate(TeamLeaseInfo bean) { - Long userid = SecurityUtils.getLoginUser().getUserid(); - bean.setCreateBy(String.valueOf(userid)); - return mapper.addNewOperate(bean); + public int addNewOperate(TeamLeaseInfo teamLeaseInfo) { + teamLeaseInfo.setCreateBy(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + Integer num = null; + if (teamLeaseInfo.getTeamLeaseInfos().size() > 0) { + num = 0; + for (TeamLeaseInfo bean : teamLeaseInfo.getTeamLeaseInfos()) { + // 编码设备 + if (StringUtils.isNotBlank(bean.getMaIds())) { + for (String maId : bean.getMaIds().split(",")) { + if (teamLeaseInfo.getType() == 1) { + // 出库 + teamLeaseInfo.setMaId(maId); + teamLeaseInfo.setTypeId(bean.getTypeId()); + teamLeaseInfo.setOutNum(1); + teamLeaseInfo.setId(bean.getId()); + num = mapper.addNewOperate(teamLeaseInfo); + mapper.updateMachine(maId, 132); + } else if (teamLeaseInfo.getType() == 2) { + // 退库 + teamLeaseInfo.setMaId(maId); + teamLeaseInfo.setTypeId(bean.getTypeId()); + teamLeaseInfo.setOutNum(1); + teamLeaseInfo.setId(bean.getId()); + num = mapper.addNewOperate(teamLeaseInfo); + mapper.updateMachine(maId, 16); + } else { + // 归还 + teamLeaseInfo.setMaId(maId); + teamLeaseInfo.setTypeId(bean.getTypeId()); + teamLeaseInfo.setOutNum(1); + teamLeaseInfo.setId(bean.getId()); + num = mapper.addNewOperate(teamLeaseInfo); + mapper.updateMachine(maId, 15); + // 修改库存总量 + Integer parentId = mapper.selectParentId(teamLeaseInfo); + if (parentId != null) { + teamLeaseInfo.setParentId(parentId); + } + mapper.deleteOutNum(teamLeaseInfo); + } + } + } else { + // 数量设备 + teamLeaseInfo.setOutNum(bean.getOutNum()); + teamLeaseInfo.setTypeId(bean.getTypeId()); + teamLeaseInfo.setId(bean.getId()); + teamLeaseInfo.setMaId(null); + num = mapper.addNewOperate(teamLeaseInfo); + if (teamLeaseInfo.getType() == 3) { + // 归还(增加库存) + mapper.addNum(teamLeaseInfo); + // 修改库存总量 + mapper.updateOutNum(teamLeaseInfo); + } + } + } + } + return num; } - // @Override // public List getNewRecords(TeamLeaseInfo bean) { // List list = new ArrayList<>(); diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml index 37e9f5c..0e59418 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml @@ -1100,6 +1100,7 @@ and lad.type_id = #{typeId} + GROUP BY lad.type_id diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/base/MaLabelBindMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/base/MaLabelBindMapper.xml index 450e330..2c91b7e 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/base/MaLabelBindMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/base/MaLabelBindMapper.xml @@ -19,6 +19,7 @@ + @@ -35,7 +36,7 @@ + \ No newline at end of file diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SecondaryWarehouseMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SecondaryWarehouseMapper.xml index 40f6606..5f1c63d 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SecondaryWarehouseMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SecondaryWarehouseMapper.xml @@ -7,6 +7,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into team_lease_info (agreement_id,type_id,team_name,lease_man,phone,num,create_by,create_time,type) values (#{agreementId},#{typeId},#{teamName},#{leaseMan},#{phone},#{num},#{createBy},now(),#{type}); + + UPDATE second_lot_config + SET name = #{name}, + unit_id = #{unitId}, + updater = #{updater}, + update_time = now() + WHERE + id = #{id} + + + UPDATE ma_machine + SET + ma_status = #{maStatus} + WHERE + ma_id = #{maId} + + + UPDATE lease_out_details + SET + out_num = out_num - #{outNum} + WHERE + id = #{id} + + + DELETE FROM second_lot_config + WHERE + id = #{id} + + + DELETE FROM lease_out_details + WHERE parent_id = #{parentId} + AND ma_id = #{maId} + + + + + + + + - + + insert into second_lot_config (name,unit_id,creater,create_time) + values (#{name},#{unitId},#{creater},now()); + + + insert into team_group (name, unit_id, creater, create_time) + values (#{name}, #{unitId}, #{creater}, now()); + - insert into receive_detail (parent_id,type_id,out_num,out_time,type,out_name,pick_name) - values (#{id},#{typeId},#{outNum},now(),#{type},#{createBy},#{leaseMan}); + insert into receive_detail (parent_id,type_id,ma_id,out_num,out_time,type,cteater,pick_name,unit_id,team_group_id,phone) + values (#{id},#{typeId},#{maId},#{outNum},now(),#{type},#{createBy},#{leaseMan},#{unitId},#{teamGroupId},#{phone}); + + + update ma_type set num = num + #{outNum} where type_id = #{typeId}