|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.Wrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.plugins.Page; | 
|---|
|  |  |  | import com.zy.asrs.entity.WrkMast; | 
|---|
|  |  |  | import com.zy.asrs.service.WrkMastService; | 
|---|
|  |  |  | import com.zy.common.web.BaseController; | 
|---|
|  |  |  | import com.core.annotations.ManagerAuth; | 
|---|
|  |  |  | import com.core.common.BaseRes; | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.core.common.DateUtils; | 
|---|
|  |  |  | import com.core.common.R; | 
|---|
|  |  |  | import com.core.exception.CoolException; | 
|---|
|  |  |  | import com.zy.asrs.entity.LocMast; | 
|---|
|  |  |  | import com.zy.asrs.entity.WrkMast; | 
|---|
|  |  |  | import com.zy.asrs.service.*; | 
|---|
|  |  |  | import com.zy.common.web.BaseController; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WrkMastService wrkMastService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocMastService locMastService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/wrkMast/{id}/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequestParam(defaultValue = "10")Integer limit, | 
|---|
|  |  |  | @RequestParam(required = false)String orderByField, | 
|---|
|  |  |  | @RequestParam(required = false)String orderByType, | 
|---|
|  |  |  | @RequestParam(required = false)String condition, | 
|---|
|  |  |  | @RequestParam Map<String, Object> param){ | 
|---|
|  |  |  | excludeTrash(param); | 
|---|
|  |  |  | EntityWrapper<WrkMast> wrapper = new EntityWrapper<>(); | 
|---|
|  |  |  | convert(param, wrapper); | 
|---|
|  |  |  | allLike(WrkMast.class, param.keySet(), wrapper, condition); | 
|---|
|  |  |  | if (!Cools.isEmpty(orderByField)){ | 
|---|
|  |  |  | if (orderByField.endsWith("$")){ | 
|---|
|  |  |  | orderByField = orderByField.substring(0, orderByField.length()-1); | 
|---|
|  |  |  | 
|---|
|  |  |  | return R.ok(wrkMastService.selectPage(new Page<>(curr, limit), wrapper)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private void convert(Map<String, Object> map, EntityWrapper wrapper){ | 
|---|
|  |  |  | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ | 
|---|
|  |  |  | for (Map.Entry<String, Object> entry : map.entrySet()){ | 
|---|
|  |  |  | if (entry.getKey().endsWith(">")) { | 
|---|
|  |  |  | wrapper.ge(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue()))); | 
|---|
|  |  |  | } else if (entry.getKey().endsWith("<")) { | 
|---|
|  |  |  | wrapper.le(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue()))); | 
|---|
|  |  |  | String val = String.valueOf(entry.getValue()); | 
|---|
|  |  |  | if (val.contains(RANGE_TIME_LINK)){ | 
|---|
|  |  |  | String[] dates = val.split(RANGE_TIME_LINK); | 
|---|
|  |  |  | wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); | 
|---|
|  |  |  | wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | wrapper.like(entry.getKey(), String.valueOf(entry.getValue())); | 
|---|
|  |  |  | wrapper.eq(entry.getKey(), val); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/wrkMast/add/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | @ManagerAuth(memo = "工作档添加") | 
|---|
|  |  |  | public R add(WrkMast wrkMast) { | 
|---|
|  |  |  | wrkMast.setModiUser(getUserId()); | 
|---|
|  |  |  | wrkMast.setModiTime(new Date()); | 
|---|
|  |  |  | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/wrkMast/update/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | @RequestMapping(value = "/wrkMast/update/auth") | 
|---|
|  |  |  | @ManagerAuth(memo = "工作档修改") | 
|---|
|  |  |  | public R update(WrkMast wrkMast){ | 
|---|
|  |  |  | if (Cools.isEmpty(wrkMast) || null==wrkMast.getWrkNo()){ | 
|---|
|  |  |  | return R.error(); | 
|---|
|  |  |  | return R.error("工作号异常"); | 
|---|
|  |  |  | }else if (wrkMast.getWrkSts()==null){ | 
|---|
|  |  |  | return R.error("修改状态异常"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMast.setModiUser(getUserId()); | 
|---|
|  |  |  | wrkMast.setModiTime(new Date()); | 
|---|
|  |  |  | wrkMastService.updateById(wrkMast); | 
|---|
|  |  |  | WrkMast wrkMast1=null; | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkMast.getWrkNo())); | 
|---|
|  |  |  | if (Cools.isEmpty(wrkMast1) || null==wrkMast1.getWrkNo()){ | 
|---|
|  |  |  | throw new CoolException("工作号"+wrkMast.getWrkNo()+"所属工作档查询失败"); | 
|---|
|  |  |  | }else if (wrkMast1.getWrkSts()==null){ | 
|---|
|  |  |  | throw new CoolException("工作号"+wrkMast.getWrkNo()+"所属工作档状态异常"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | return R.error("失败!!!请尝试刷新页面。"+"异常原因:"+e); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (wrkMast1.getWrkSts()-wrkMast.getWrkSts()==0){ | 
|---|
|  |  |  | return R.error("所选状态与此工作档状态一致,无需修改"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (juBge(wrkMast.getWrkSts(), wrkMast1)){ | 
|---|
|  |  |  | return R.error("修改状态失败,请规范操作"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMast1.setModiUser(getUserId()); | 
|---|
|  |  |  | wrkMast1.setModiTime(new Date()); | 
|---|
|  |  |  | wrkMast1.setWrkSts(wrkMast.getWrkSts()); | 
|---|
|  |  |  | wrkMastService.updateById(wrkMast1); | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public Boolean juBge(Long wrkSts1,WrkMast wrkMast1){ | 
|---|
|  |  |  | if (wrkSts1>20){ | 
|---|
|  |  |  | throw new CoolException("大于20的状态不能进行修改!!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | switch (wrkMast1.getIoType()){ | 
|---|
|  |  |  | case 1: | 
|---|
|  |  |  | case 10: | 
|---|
|  |  |  | case 53: | 
|---|
|  |  |  | case 54: | 
|---|
|  |  |  | case 57: | 
|---|
|  |  |  | if (wrkSts1>=1 && wrkSts1<=10){ | 
|---|
|  |  |  | if (wrkSts1==10){ | 
|---|
|  |  |  | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast1.getLocNo())); | 
|---|
|  |  |  | if (Cools.isEmpty(locMast) || locMast.getLocSts()==null){ | 
|---|
|  |  |  | throw new CoolException("工作号"+wrkMast1.getWrkNo()+"工作档所对应的库位异常请维护库位数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (locMast.getLocSts().equals("S")||locMast.getLocSts().equals("Q")){ | 
|---|
|  |  |  | throw new CoolException("工作号"+wrkMast1.getWrkNo()+"工作档所对应的库位号状态为"+locMast.getLocSts$()+",请维护库位数据"); | 
|---|
|  |  |  | }else if (locMast.getLocSts().equals("F")){ | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | throw new CoolException("工作号"+wrkMast1.getWrkNo()+"工作档所对应的库位号状态异常,请维护库位数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | case 101: | 
|---|
|  |  |  | case 103: | 
|---|
|  |  |  | case 104: | 
|---|
|  |  |  | case 107: | 
|---|
|  |  |  | case 110: | 
|---|
|  |  |  | if (wrkSts1>=11 && wrkSts1<=18){ | 
|---|
|  |  |  | if (wrkSts1==18){ | 
|---|
|  |  |  | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast1.getSourceLocNo())); | 
|---|
|  |  |  | if (Cools.isEmpty(locMast) || locMast.getLocSts()==null){ | 
|---|
|  |  |  | throw new CoolException("工作号"+wrkMast1.getWrkNo()+"工作档所对应的库位异常请维护库位数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (locMast.getLocSts().equals("R")||locMast.getLocSts().equals("P")){ | 
|---|
|  |  |  | throw new CoolException("工作号"+wrkMast1.getWrkNo()+"工作档所对应的库位号状态为"+locMast.getLocSts$()+",请维护库位数据"); | 
|---|
|  |  |  | }else if (locMast.getLocSts().equals("O")){ | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | throw new CoolException("工作号"+wrkMast1.getWrkNo()+"工作档所对应的库位号状态异常,请维护库位数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | case 11: | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | case 3: | 
|---|
|  |  |  | case 6: | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/wrkMast/delete/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | @ManagerAuth(memo = "工作档删除") | 
|---|
|  |  |  | public R delete(@RequestParam String param){ | 
|---|
|  |  |  | List<WrkMast> list = JSONArray.parseArray(param, WrkMast.class); | 
|---|
|  |  |  | if (Cools.isEmpty(list)){ | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/wrkMast/export/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | @ManagerAuth(memo = "工作档导出") | 
|---|
|  |  |  | public R export(@RequestBody JSONObject param){ | 
|---|
|  |  |  | List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); | 
|---|
|  |  |  | EntityWrapper<WrkMast> wrapper = new EntityWrapper<>(); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/wrkMast/add/pri/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | @ManagerAuth(memo = "工作档增加优先级") | 
|---|
|  |  |  | public R addPri(@RequestBody List<WrkMast> list) { | 
|---|
|  |  |  | if (list.isEmpty()) { | 
|---|
|  |  |  | return R.error("请至少选择一行数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (WrkMast entity : list){ | 
|---|
|  |  |  | entity.setIoPri(entity.getIoPri() + 1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/wrkMast/red/pri/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | @ManagerAuth(memo = "工作档降低优先级") | 
|---|
|  |  |  | public R redPri(@RequestBody List<WrkMast> list) { | 
|---|
|  |  |  | if (list.isEmpty()) { | 
|---|
|  |  |  | return R.error("请至少选择一行数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (WrkMast entity : list){ | 
|---|
|  |  |  | entity.setIoPri(entity.getIoPri() - 1); | 
|---|
|  |  |  | } | 
|---|