diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java index 47f76a6a..80761e0f 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java @@ -2,7 +2,7 @@ package com.bonus.common.biz.constant; /** * 仓储通用常量信息 - * + * * @author bonus */ public class MaterialConstants { @@ -46,46 +46,77 @@ public class MaterialConstants { public final static String STRING_ADMIN = "admin"; - /** 新购号的开头字母 */ + /** + * 新购号的开头字母 + */ public final static String PURCHASE_TASK_TYPE_LABEL = "XG"; - /** 协议号的开头字母 */ + /** + * 协议号的开头字母 + */ public static final String AGREEMENT_PREFIX = "H"; - /** 领料单号的开头字母 */ + /** + * 领料单号的开头字母 + */ public static final String LEASE_TASK_TYPE_LABEL = "L"; - /** 机具公司领料单号的开头字母 */ + /** + * 机具公司领料单号的开头字母 + */ public static final String JJ_LEASE_TASK_TYPE_LABEL = "JJL"; - /** 安全工器具领料单号的开头字母 */ + /** + * 安全工器具领料单号的开头字母 + */ public static final String AQ_LEASE_TASK_TYPE_LABEL = "AQL"; - /** 宏源领料单号的开头字母 */ + /** + * 宏源领料单号的开头字母 + */ public static final String HY_LEASE_TASK_TYPE_LABEL = "HYL"; - /** 退料单号的开头字母 */ + /** + * 退料单号的开头字母 + */ public static final String BACK_TASK_TYPE_LABEL = "T"; - /** 维修单号的开头字母 */ + /** + * 维修单号的开头字母 + */ public static final String REPAIR_TASK_TYPE_LABEL = "WX"; - /** 维修审核单号的开头字母 */ + + + + /** + * 维修审核单号的开头字母 + */ public static final String REPAIR_AUDIT_TYPE_LABEL = "WS"; - /** 报废单号的开头字母 */ + /** + * 报废单号的开头字母 + */ public static final String SCRAP_TASK_TYPE_LABEL = "BF"; - /** 盘点报废单号的开头字母 */ + /** + * 盘点报废单号的开头字母 + */ public static final String PD_SCRAP_TASK_TYPE_LABEL = "PDB"; - /** 修饰入库单号的开头字母 */ + /** + * 修饰入库单号的开头字母 + */ public static final String REPAIR_INPUT_TASK_TYPE_LABEL = "R"; - /** 配件新购号的开头字母 */ + /** + * 配件新购号的开头字母 + */ public final static String PART_TASK_TYPE_LABEL = "PJXG"; - /** 配件领料单号的开头字母 */ + /** + * 配件领料单号的开头字母 + */ public static final String PART_LEASE_TASK_TYPE_LEASE = "LP"; /** 现场维修的开头字母 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/controller/WsMaInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/controller/WsMaInfoController.java index b5fa981b..d7c17ce9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/controller/WsMaInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/controller/WsMaInfoController.java @@ -4,6 +4,7 @@ import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; +import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.codeCollection.domain.WsMaInfo; import com.bonus.material.codeCollection.service.WsMaInfoService; import com.bonus.material.common.annotation.PreventRepeatSubmit; @@ -25,7 +26,6 @@ public class WsMaInfoController extends BaseController { private WsMaInfoService service; @ApiOperation(value = "根据ID获取机具信息") - @PreventRepeatSubmit @SysLog(title = "机具信息查询", businessType = OperaType.QUERY, logType = 1, module = "机具管理->查询") @GetMapping("/{id}") public AjaxResult getById(@PathVariable Integer id) { @@ -33,7 +33,6 @@ public class WsMaInfoController extends BaseController { } @ApiOperation(value = "查询所有机具信息列表") - @PreventRepeatSubmit @SysLog(title = "机具信息列表查询", businessType = OperaType.QUERY, logType = 1, module = "机具管理->查询") @GetMapping("/list") public AjaxResult getAll() { @@ -42,15 +41,15 @@ public class WsMaInfoController extends BaseController { } @ApiOperation(value = "新增机具信息") - @PreventRepeatSubmit @SysLog(title = "机具信息新增", businessType = OperaType.INSERT, logType = 1, module = "机具管理->新增") @PostMapping("/addWsMaInfo") public AjaxResult save(@RequestBody WsMaInfo info) { + info.setOptUser(SecurityUtils.getLoginUser().getSysUser().getNickName()); + return service.save(info); } @ApiOperation(value = "更新机具信息") - @PreventRepeatSubmit @SysLog(title = "机具信息更新", businessType = OperaType.UPDATE, logType = 1, module = "机具管理->更新") @PostMapping("/updateWsMaInfo") public AjaxResult update(@RequestBody WsMaInfo info) { @@ -58,7 +57,6 @@ public class WsMaInfoController extends BaseController { } @ApiOperation(value = "删除机具信息") - @PreventRepeatSubmit @SysLog(title = "机具信息删除", businessType = OperaType.DELETE, logType = 1, module = "机具管理->删除") @PostMapping("/{id}") public AjaxResult delete(@PathVariable Integer id) { @@ -66,7 +64,6 @@ public class WsMaInfoController extends BaseController { } @ApiOperation(value = "获取机具类型") - @PreventRepeatSubmit @SysLog(title = "获取机具类型", businessType = OperaType.DELETE, logType = 1, module = "获取机具类型") @PostMapping("/getMaTypeData") public AjaxResult getMaTypeData() { @@ -74,11 +71,18 @@ public class WsMaInfoController extends BaseController { } - @ApiOperation(value = "获取机具类型") - @PreventRepeatSubmit - @SysLog(title = "获取机具类型", businessType = OperaType.DELETE, logType = 1, module = "获取机具类型") + @ApiOperation(value = "获取机具规格") + @SysLog(title = "获取机具规格", businessType = OperaType.DELETE, logType = 1, module = "获取机具规格") @PostMapping("/getMaModeData") - public AjaxResult getMaModeData(@RequestParam Integer parentId) { - return service.getMaModeData(parentId); + public AjaxResult getMaModeData(@RequestBody WsMaInfo info) { + return service.getMaModeData(info.getParentId()); } + + @ApiOperation(value = "获取出厂厂家") + @SysLog(title = "获取出厂厂家", businessType = OperaType.DELETE, logType = 1, module = "获取出厂厂家") + @PostMapping("/getSupplier") + public AjaxResult getSupplier() { + return service.getSupplier(); + } + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/domain/WsMaInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/domain/WsMaInfo.java index 97e2996e..13204358 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/domain/WsMaInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/domain/WsMaInfo.java @@ -17,6 +17,10 @@ public class WsMaInfo { * 主键,自增ID */ private Integer id; + /** + * 父类id + */ + private Integer parentId; /** * 机具名称,如“电焊机”、“搅拌机” diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/mapper/WsMaInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/mapper/WsMaInfoMapper.java index 156c28ba..c0951875 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/mapper/WsMaInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/mapper/WsMaInfoMapper.java @@ -3,6 +3,7 @@ package com.bonus.material.codeCollection.mapper; import com.bonus.material.codeCollection.domain.WsMaInfo; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -71,4 +72,27 @@ public interface WsMaInfoMapper { @MapKey("id") List> getMaModeData(Integer parentId); + /** + * 获取出厂厂家 + * + * @return 出厂厂家集合 + */ + @MapKey("id") + List> getSupplier(); + + /** + * 判断编码是否存在 + * + * @param maModel 规格 + * @param maCode 编码 + * @return 条数 + */ + int existsByModelAndCode(@Param("maModel") String maModel, @Param("maCode") String maCode); + + /** + * 更新时间 + * + * @return 条数 + */ + int updateCheckTime(Integer id); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/WsMaInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/WsMaInfoService.java index 286c4e82..10ec9ecb 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/WsMaInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/WsMaInfoService.java @@ -69,4 +69,12 @@ public interface WsMaInfoService { * @return 机具规格集合 */ AjaxResult getMaModeData(Integer parentId); + + + /** + * 获取出厂厂家 + * + * @return 出厂厂家集合 + */ + AjaxResult getSupplier(); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/impl/WsMaInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/impl/WsMaInfoServiceImpl.java index c671cf5d..b2a83364 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/impl/WsMaInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/impl/WsMaInfoServiceImpl.java @@ -75,6 +75,11 @@ public class WsMaInfoServiceImpl implements WsMaInfoService { @Override public AjaxResult save(WsMaInfo info) { try { + int i = mapper.existsByModelAndCode(info.getMaModel(), info.getMaCode()); + if (ObjectUtils.isNotEmpty(i)) { + mapper.updateCheckTime(i); + return AjaxResult.error("该机具规格与编码已存在,请勿重复添加!"); + } int result = mapper.insert(info); return result > 0 ? AjaxResult.success("新增成功") : AjaxResult.error("新增失败"); } catch (Exception e) { @@ -144,14 +149,30 @@ public class WsMaInfoServiceImpl implements WsMaInfoService { /** * 获取机具规格下拉选 * - * @param parentId + * @param parentId 父类id * @return 机具规格集合 */ @Override public AjaxResult getMaModeData(Integer parentId) { try { - List> maTypeData = mapper.getMaModeData(parentId); - return ObjectUtils.isNotEmpty(maTypeData) ? AjaxResult.success(maTypeData) : AjaxResult.error(""); + List> maModeData = mapper.getMaModeData(parentId); + return ObjectUtils.isNotEmpty(maModeData) ? AjaxResult.success(maModeData) : AjaxResult.error(""); + } catch (Exception e) { + log.error(e.getMessage()); + return AjaxResult.error(""); + } + } + + /** + * 获取出厂厂家 + * + * @return 出厂厂家集合 + */ + @Override + public AjaxResult getSupplier() { + try { + List> supplier = mapper.getSupplier(); + return ObjectUtils.isNotEmpty(supplier) ? AjaxResult.success(supplier) : AjaxResult.error(""); } catch (Exception e) { log.error(e.getMessage()); return AjaxResult.error(""); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/controller/FieldMaintenanceController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/controller/FieldMaintenanceController.java index 0f85ef41..a576b998 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/controller/FieldMaintenanceController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/controller/FieldMaintenanceController.java @@ -106,4 +106,33 @@ public class FieldMaintenanceController extends BaseController { return error(); } } + + @ApiOperation(value = "提交任务") + @PreventRepeatSubmit + @SysLog(title = "现场维修任务", businessType = OperaType.INSERT, logType = 1, module = "仓储管理->删除任务") + @PostMapping("/deleteFieldApplyDetailsById") + public AjaxResult deleteFieldApplyDetailsById(@RequestBody FieldApplyDetails fieldApplyDetails) { + try { + return fieldMaintenanceService.deleteFieldApplyDetailsById(fieldApplyDetails.getParentId(), fieldApplyDetails.getTypeId()); + } catch (Exception e) { + return error(); + } + } + + @ApiOperation(value = "提交任务") + @PreventRepeatSubmit + @SysLog(title = "现场维修任务", businessType = OperaType.INSERT, logType = 1, module = "仓储管理->删除任务") + @PostMapping("/insertDetails") + public AjaxResult insertDetails(@RequestBody List fieldApplyDetailsList) { + // 示例逻辑:遍历每条记录 + for (FieldApplyDetails detail : fieldApplyDetailsList) { + // TODO: 插入数据库,例如调用 service.insert(detail) + System.out.println("处理 detail: " + detail); + fieldMaintenanceService.insertDetails(detail); + } + + return AjaxResult.success("插入成功,共 " + fieldApplyDetailsList.size() + " 条"); + } + + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/domain/FieldApplyDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/domain/FieldApplyDetails.java index 238be2d0..74137b63 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/domain/FieldApplyDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/domain/FieldApplyDetails.java @@ -3,12 +3,14 @@ package com.bonus.material.fieldMaintenance.domain; import com.bonus.common.biz.domain.BmFileInfo; import com.bonus.common.core.annotation.Excel; import com.bonus.material.back.domain.MaCodeDto; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; import lombok.experimental.Accessors; import java.math.BigDecimal; +import java.util.Date; import java.util.List; @Accessors(chain = true) @@ -94,4 +96,24 @@ public class FieldApplyDetails { private Integer isFinished; private String keyWord; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + /** + * 更新人 + */ + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/mapper/FieldMaintenanceMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/mapper/FieldMaintenanceMapper.java index 61bfee34..3d9269c0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/mapper/FieldMaintenanceMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/mapper/FieldMaintenanceMapper.java @@ -2,6 +2,7 @@ package com.bonus.material.fieldMaintenance.mapper; import com.bonus.material.fieldMaintenance.domain.FieldApplyDetails; import com.bonus.material.fieldMaintenance.domain.FieldApplyInfo; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -41,5 +42,7 @@ public interface FieldMaintenanceMapper { */ int deleteFieldApplyInfoById(Integer id); + int deleteFieldApplyDetailsById(@Param("id") Long id, @Param("typeId") Long typeId); + int insertDetails(FieldApplyDetails fieldApplyDetails); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/service/FieldMaintenanceService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/service/FieldMaintenanceService.java index 817d7e89..a531af1e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/service/FieldMaintenanceService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/service/FieldMaintenanceService.java @@ -4,6 +4,7 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.back.domain.BackApplyInfo; import com.bonus.material.fieldMaintenance.domain.FieldApplyDetails; import com.bonus.material.fieldMaintenance.domain.FieldApplyInfo; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -49,4 +50,11 @@ public interface FieldMaintenanceService { * @return 条数 */ AjaxResult submitTask(Long taskId); + + + AjaxResult deleteFieldApplyDetailsById(Long id,Long typeId); + + + AjaxResult insertDetails(FieldApplyDetails fieldApplyDetails); + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/service/impl/FieldMaintenanceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/service/impl/FieldMaintenanceImpl.java index aa5bed1d..293f3e9f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/service/impl/FieldMaintenanceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/fieldMaintenance/service/impl/FieldMaintenanceImpl.java @@ -165,6 +165,37 @@ public class FieldMaintenanceImpl implements FieldMaintenanceService { return null; } + /** + * @param id + * @param typeId + * @return + */ + @Override + public AjaxResult deleteFieldApplyDetailsById(Long id, Long typeId) { + try { + int i = fieldMaintenanceMapper.deleteFieldApplyDetailsById(id, typeId); + return i > 0 ? AjaxResult.success() : AjaxResult.error(); + } catch (Exception e) { + log.error(e.getMessage()); + return AjaxResult.error(); + } + } + + /** + * @param fieldApplyDetails + * @return + */ + @Override + public AjaxResult insertDetails(FieldApplyDetails fieldApplyDetails) { + try { + int i = fieldMaintenanceMapper.insertDetails(fieldApplyDetails); + return i > 0 ? AjaxResult.success() : AjaxResult.error(); + } catch (Exception e) { + log.error(e.getMessage()); + return AjaxResult.error(); + } + } + /** * 生成现场维修任务单号 diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/Field/FieldMaintenanceMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/Field/FieldMaintenanceMapper.xml index 431c9df2..6a080360 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/Field/FieldMaintenanceMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/Field/FieldMaintenanceMapper.xml @@ -26,6 +26,31 @@ #{updateTime}, + + INSERT INTO field_apply_details + + code, + parent_id, + type_id, + pre_num, + create_by, + create_time, + update_by, + update_time, + ma_code, + + + #{code}, + #{taskId}, + #{typeId}, + #{preNum}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{maCode}, + + UPDATE field_apply_info @@ -33,6 +58,12 @@ update_time = NOW() WHERE id = #{id} + + DELETE + FROM field_apply_details + WHERE parent_id = #{id} + and type_id = #{typeId} + - SELECT * FROM ws_ma_info WHERE id = #{id} + SELECT * + FROM ws_ma_info + WHERE id = #{id} + + - - INSERT INTO ws_ma_info ( - ma_name, ma_model, ma_code, supplier, this_check_time, next_check_time, - repair_man, check_man, phone, result, type, model_id, is_active, opt_user, opt_time - ) VALUES ( - #{maName}, #{maModel}, #{maCode}, #{supplier}, #{thisCheckTime}, #{nextCheckTime}, - #{repairMan}, #{checkMan}, #{phone}, #{result}, #{type}, #{modelId}, #{isActive}, #{optUser}, #{optTime} - ) + + + INSERT INTO ws_ma_info (ma_name, ma_model, ma_code, supplier, this_check_time, next_check_time, + repair_man, check_man, phone, result, type, model_id, is_active, opt_user, opt_time) + VALUES (#{maName}, #{maModel}, #{maCode}, #{supplier}, DATE(now()), + DATE(DATE_SUB(DATE_ADD(NOW(), INTERVAL 1 YEAR), INTERVAL 1 DAY)), + #{repairMan}, #{checkMan}, #{phone}, #{result}, #{type}, #{modelId}, #{isActive}, #{optUser}, now()) - UPDATE ws_ma_info SET - ma_name = #{maName}, - ma_model = #{maModel}, - ma_code = #{maCode}, - supplier = #{supplier}, - this_check_time = #{thisCheckTime}, - next_check_time = #{nextCheckTime}, - repair_man = #{repairMan}, - check_man = #{checkMan}, - phone = #{phone}, - result = #{result}, - type = #{type}, - model_id = #{modelId}, - is_active = #{isActive}, - opt_user = #{optUser}, - opt_time = #{optTime} + UPDATE ws_ma_info + SET ma_name = #{maName}, + ma_model = #{maModel}, + ma_code = #{maCode}, + supplier = #{supplier}, + this_check_time = #{thisCheckTime}, + next_check_time = #{nextCheckTime}, + repair_man = #{repairMan}, + check_man = #{checkMan}, + phone = #{phone}, + result = #{result}, + type = #{type}, + model_id = #{modelId}, + is_active = #{isActive}, + opt_user = #{optUser}, + opt_time = #{optTime} + WHERE id = #{id} + + + UPDATE ws_ma_info + SET this_check_time = DATE(now()), + next_check_time = DATE(DATE_SUB(DATE_ADD(NOW(), INTERVAL 1 YEAR), INTERVAL 1 DAY)), + opt_time = DATE(now()) WHERE id = #{id} - DELETE FROM ws_ma_info WHERE id = #{id} + DELETE + FROM ws_ma_info + WHERE id = #{id} - -