Commit 4b73b198982a47bb095624bb90ad7b96f4d13d9a

Authored by mahuandong
1 parent 43484756

修改添加物料时使用物料类别生成物料编码

src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java
... ... @@ -108,35 +108,7 @@ public class MaterialController extends BaseController {
108 108 @ResponseBody
109 109 public AjaxResult addSave(Material material) {
110 110  
111   - LambdaQueryWrapper<Material> lambda = Wrappers.lambdaQuery();
112   - lambda.eq(Material::getCode, material.getCode())
113   - .eq(Material::getWarehouseCode, ShiroUtils.getWarehouseCode())
114   - .eq(Material::getDeleted, false);
115   - Map<String, Object> map = materialService.getMap(lambda);
116   - if (map != null) {
117   - return AjaxResult.error("物料已经存在");
118   - }
119   - LambdaQueryWrapper<MaterialUnit> lambdaQueryWrapper = Wrappers.lambdaQuery();
120   - lambdaQueryWrapper.eq(MaterialUnit::getMaterialCode, material.getCode())
121   - .eq(MaterialUnit::getUnit, material.getUnit());
122   - if (materialUnitService.getOne(lambdaQueryWrapper) == null){
123   - MaterialUnit materialUnit = new MaterialUnit();
124   - materialUnit.setMaterialCode(material.getCode());
125   - materialUnit.setMaterialName(material.getName());
126   - materialUnit.setMaterialSpec(material.getSpec());
127   - materialUnit.setCompanyCode(material.getCompanyCode());
128   - materialUnit.setWarehouseCode(ShiroUtils.getWarehouseCode());
129   - materialUnit.setUnit(material.getUnit());
130   - materialUnit.setCreatedBy(ShiroUtils.getLoginName());
131   - materialUnit.setLastUpdatedBy(ShiroUtils.getLoginName());
132   -
133   - materialUnitService.save(materialUnit);
134   - }
135   -
136   - material.setWarehouseCode(ShiroUtils.getWarehouseCode());
137   - material.setCreatedBy(ShiroUtils.getLoginName());
138   - material.setLastUpdatedBy(ShiroUtils.getLoginName());
139   - return AjaxResult.toAjax(materialService.save(material));
  111 + return materialService.addSave(material);
140 112 }
141 113  
142 114 /**
... ...
src/main/java/com/huaheng/pc/config/material/service/MaterialService.java
... ... @@ -13,5 +13,10 @@ public interface MaterialService extends IService&lt;Material&gt;{
13 13  
14 14 String importMaterial(List<Material> materialList, Boolean updateSupport,String operName);
15 15  
16   -
  16 + /**
  17 + * 添加物料
  18 + * @param material
  19 + * @return
  20 + */
  21 + AjaxResult addSave(Material material);
17 22 }
... ...
src/main/java/com/huaheng/pc/config/material/service/MaterialServiceImpl.java
... ... @@ -7,10 +7,15 @@ import com.huaheng.common.support.Convert;
7 7 import com.huaheng.common.utils.StringUtils;
8 8 import com.huaheng.common.utils.security.ShiroUtils;
9 9 import com.huaheng.framework.web.domain.AjaxResult;
  10 +import com.huaheng.pc.config.materialType.domain.MaterialType;
  11 +import com.huaheng.pc.config.materialType.service.MaterialTypeService;
  12 +import com.huaheng.pc.config.materialUnit.domain.MaterialUnit;
  13 +import com.huaheng.pc.config.materialUnit.service.MaterialUnitService;
10 14 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
11 15 import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
12 16 import org.springframework.stereotype.Service;
13 17 import javax.annotation.Resource;
  18 +import java.lang.ref.WeakReference;
14 19 import java.util.List;
15 20 import java.util.Map;
16 21  
... ... @@ -23,6 +28,10 @@ public class MaterialServiceImpl extends ServiceImpl&lt;MaterialMapper, Material&gt; i
23 28  
24 29 @Resource
25 30 private ReceiptDetailService receiptDetailService;
  31 + @Resource
  32 + private MaterialUnitService materialUnitService;
  33 + @Resource
  34 + private MaterialTypeService materialTypeService;
26 35  
27 36 @Override
28 37 public AjaxResult removeByIds(String ids) {
... ... @@ -94,4 +103,60 @@ public class MaterialServiceImpl extends ServiceImpl&lt;MaterialMapper, Material&gt; i
94 103 }
95 104 return successMsg.toString();
96 105 }
  106 +
  107 + /**
  108 + * 添加物料
  109 + * @param material
  110 + * @return
  111 + */
  112 + @Override
  113 + public AjaxResult addSave(Material material) {
  114 + LambdaQueryWrapper<Material> lambda = Wrappers.lambdaQuery();
  115 + //如果物料编码为空则生成物料编码
  116 + if (material.getCode() == null) {
  117 + material.setCode(createCode(material.getType()));
  118 + }
  119 + lambda.eq(Material::getCode, material.getCode())
  120 + .eq(Material::getWarehouseCode, ShiroUtils.getWarehouseCode())
  121 + .eq(Material::getDeleted, false);
  122 + Map<String, Object> map = this.getMap(lambda);
  123 + if (map != null) {
  124 + return AjaxResult.error("物料已经存在");
  125 + }
  126 +
  127 + LambdaQueryWrapper<MaterialUnit> lambdaQueryWrapper = Wrappers.lambdaQuery();
  128 + lambdaQueryWrapper.eq(MaterialUnit::getMaterialCode, material.getCode())
  129 + .eq(MaterialUnit::getUnit, material.getUnit());
  130 + //如果不存在该物料的单位是新建物料单位
  131 + if (materialUnitService.getOne(lambdaQueryWrapper) == null){
  132 + MaterialUnit materialUnit = new MaterialUnit();
  133 + materialUnit.setMaterialCode(material.getCode());
  134 + materialUnit.setMaterialName(material.getName());
  135 + materialUnit.setMaterialSpec(material.getSpec());
  136 + materialUnit.setCompanyCode(material.getCompanyCode());
  137 + materialUnit.setWarehouseCode(ShiroUtils.getWarehouseCode());
  138 + materialUnit.setUnit(material.getUnit());
  139 + materialUnit.setCreatedBy(ShiroUtils.getLoginName());
  140 + materialUnit.setLastUpdatedBy(ShiroUtils.getLoginName());
  141 +
  142 + materialUnitService.save(materialUnit);
  143 + }
  144 + material.setWarehouseCode(ShiroUtils.getWarehouseCode());
  145 + material.setCreatedBy(ShiroUtils.getLoginName());
  146 + material.setLastUpdatedBy(ShiroUtils.getLoginName());
  147 + return null;
  148 + }
  149 +
  150 + /**
  151 + * 生成物料编码
  152 + * @param code
  153 + * @return
  154 + */
  155 + private String createCode(String code){
  156 + LambdaQueryWrapper<MaterialType> lambda = Wrappers.lambdaQuery();
  157 + lambda.eq(MaterialType::getCode, code);
  158 + MaterialType materialType = materialTypeService.getOne(lambda);
  159 +
  160 + return String.format(materialType.getAutoGenSerialNumFormat(), materialType.getTrackSerialNum());
  161 + }
97 162 }
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
... ... @@ -154,8 +154,9 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
154 154 * @param receiptDetail
155 155 * @return
156 156 */
  157 + @Transactional
157 158 public ReceiptDetail queryflow(ReceiptDetail receiptDetail){
158   -
  159 + //当单据状态为驳回或作废时不更新状态
159 160 if ("10".equals(receiptDetail.getProcessStamp()) || "20".equals(receiptDetail.getProcessStamp())){
160 161 return receiptDetail;
161 162 }
... ...